Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从一维阵列构建图像_Java_Image_Image Processing_Bufferedimage_Grayscale - Fatal编程技术网

Java 从一维阵列构建图像

Java 从一维阵列构建图像,java,image,image-processing,bufferedimage,grayscale,Java,Image,Image Processing,Bufferedimage,Grayscale,我有一个一维阵列像素,其中包含512x512灰度图像的像素值。我想把它写进一个png文件。我编写了以下代码,但它只创建了一个空白图像 public void write(int width ,int height, int[] pixel) { try { // retrieve image BufferedImage writeImage = new BufferedImage(512,512,BufferedImage.TYPE_BYTE_GRAY); File ou

我有一个一维阵列像素,其中包含512x512灰度图像的像素值。我想把它写进一个png文件。我编写了以下代码,但它只创建了一个空白图像

    public void write(int width ,int height, int[] pixel) {

       try {
// retrieve image
BufferedImage writeImage = new BufferedImage(512,512,BufferedImage.TYPE_BYTE_GRAY);
File outputfile = new File("saved.png");
WritableRaster raster = (WritableRaster) writeImage.getData();
raster.setPixels(0,0,width,height,pixel);

ImageIO.write(writeImage, "png", outputfile);

} catch (IOException e) {

}
返回的光栅是图像数据的副本,如果图像发生更改,则不会更新图像数据

尝试将新光栅对象设置回图像

WritableRaster raster = (WritableRaster)writeImage.getData();
raster.setPixels(0, 0, width, height, pixel);
writeImage.setData(raster);

为什么投票结果如此接近?它显示了努力,而且陈述得很清楚,似乎是一个典型的问题。