gpt4 book ai didi

java - 如何从字节数组(2 字节/像素)获取 PNG?

转载 作者:太空宇宙 更新时间:2023-11-04 09:49:38 24 4
gpt4 key购买 nike

我有一个字节数组,其中每个像素存储两个字节的数据。我现在想要从这些数据中得到一个PNG。我找到了一个很棒的代码 here :

byte[] aByteArray = {0xa,0x2,0xf,(byte)0xff,(byte)0xff,(byte)0xff};
int width = 1;
int height = 2;

DataBuffer buffer = new DataBufferByte(aByteArray, aByteArray.length);

//3 bytes per pixel: red, green, blue
WritableRaster raster = Raster.createInterleavedRaster(buffer, width, height, 3 * width, 3, new int[] {0, 1, 2}, (Point)null);
ColorModel cm = new ComponentColorModel(ColorModel.getRGBdefault().getColorSpace(), false, true, Transparency.OPAQUE, DataBuffer.TYPE_BYTE);
BufferedImage image = new BufferedImage(cm, raster, true, null);

ImageIO.write(image, "png", new File("image.png"));

这里作者使用了每个像素3个字节。所以我的问题是:如果我的字节数组每个像素有 2 个字节,我怎样才能使这段代码工作?

更新:数据是灰度的,对不起,我以前不知道......所以不需要获取彩色图像。那么您知道谁从这个字节数组中获取灰度图像吗?

最佳答案

在我看来,您必须为该代码提供每个像素 3 个字节,以便它获得 RGB 三种颜色。如果您只想使用绿色和蓝色或其他组合来做到这一点,您应该为第三个设置默认值...但我不是 100% 确定。

关于java - 如何从字节数组(2 字节/像素)获取 PNG?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54946166/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com