java – 从rgb像素值创建缓冲图像

我有一个RGB像素的整数数组,看起来像:

pixels[0] = <rgb-value of pixel(0,0)>
pixels[1] = <rgb-value of pixel(1,0)>
pixels[2] = <rgb-value of pixel(2,0)>
pixels[3] = <rgb-value of pixel(0,1)>
...etc...

我正在尝试从中创建一个BufferedImage.我尝试了以下方法:

BufferedImage img = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
img.getRaster().setPixels(0, 0, width, height, pixels);

但是所得到的图像在色带方面存在问题.图像不清晰,通过它有对角线和水平线.

使用rgb值初始化图像的正确方法是什么?

编辑:
这是我的图像

谢谢,
杰夫

解决方法:

尝试setDataElements而不是setPixels.

另一种选择是图像共享数组而不是从中复制(例如,参见this answer).

上一篇:C++/OpenGL:图像指针操作


下一篇:在php中将数组转换为png