【发布时间】:2016-02-17 14:03:51
【问题描述】:
我有这样的问题:我在JAVA程序中准备了应该从图片中保存一些数据并将它们保存到txt文件中。然后程序应该将每 25 行中图片的所有像素都变为黑色,并在显示器上实现图片(已经带有黑线)。但是出了点问题,我不知道是什么 - 整个图片从显示中删除,没有显示任何内容。代码如下:
private void saveButtonActionPerformed(java.awt.event.ActionEvent evt)
..........
BufferedImage out = new BufferedImage(in.getWidth(), in.getHeight(), in.getType());
for (int i = 0; i < width; i++) {
for (int j = 0; j < height; j=j+25) {
out.setRGB(i,j,0);
}
}
ImageIcon img = new ImageIcon(out);
imagePanel.removeAll();
imagePanel.setIcon(img);
} catch (IOException e) {
System.out.print("ERROR");
}
}
}
public static BufferedImage loadImage(File file) {
try {
BufferedImage out = ImageIO.read(file);
return out;
} catch (IOException e) {
return null;
}
}
我正在使用 NetBeans,尽管如此,一切正常。
【问题讨论】:
-
对不起。我现在已经指定了问题 - 请参阅帖子。
-
您正在创建一个新的空 BufferedImage
out,其大小与in相同,但您从未将in中的数据复制到out。所以你在一个空的图像上画一条黑线,然后显示结果 - 然后它将是空的。确保首先复制图像in。 -
imagePanel是什么(类型)?
标签: java pixel bufferedimage