从rgb像素值创建缓冲的图像

Jef*_*rey 5 java bufferedimage pixels

我有一个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...
Run Code Online (Sandbox Code Playgroud)

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

BufferedImage img = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
img.getRaster().setPixels(0, 0, width, height, pixels);
Run Code Online (Sandbox Code Playgroud)

但是,生成的图像在色带方面存在问题。图像不清楚,并且有斜线和水平线穿过。

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

编辑:这是我的图像看起来像替代文字

谢谢,杰夫

fin*_*nnw 4

尝试setDataElements代替setPixels.

另一种选择是图像共享数组而不是从中复制(请参阅此答案以获取示例。)