Java 如何从像素值数组和已知的宽度和高度创建图像。。?

Java 如何从像素值数组和已知的宽度和高度创建图像。。?,java,image,image-processing,raster,Java,Image,Image Processing,Raster,我有一个像素值的一维数组,这样我可以得到红色、绿色和蓝色 int rgb[] = new int[] { (argb >> 16) & 0xff, //red (argb >> 8) & 0xff, //green (argb ) & 0xff //blue }; 我知道我想创建的图像的宽度和高度。 所以,我总共有以下数据。 1)

我有一个像素值的一维数组,这样我可以得到红色、绿色和蓝色

int rgb[] = new int[]
        {
            (argb >> 16) & 0xff, //red
            (argb >>  8) & 0xff, //green
            (argb      ) & 0xff  //blue
        };
我知道我想创建的图像的宽度和高度。 所以,我总共有以下数据。 1) 新图像的宽度 2) 新形象的高度 3) 像素值的一维数组

我的主管建议我使用createRaster方法,但函数参数对我来说很难理解。 你能给我推荐一些简单的代码吗? 谢谢。

您可以:

 InputStream is = new ByteArrayInputStream(rgb);
 Image img = ImageIO.read(is);
rgb应该是字节数组。

如前一篇SO帖子所述:

public static Image getImageFromArray(int[] pixels, int width, int height) {
            BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
            WritableRaster raster = (WritableRaster) image.getData();
            raster.setPixels(0,0,width,height,pixels);
            return image;
        }

如果您在理解参数方面遇到困难,您应该查看。

createRaster中的函数参数有哪些方面是您难以理解的。你的主管给你安排了一项任务,让你学习和理解一些东西,而不是走捷径,只要求一些代码。