我有這樣的問題:我準備在JAVA程序中應該保存圖片的一些數據並將它們保存到txt文件中。然後,程序應該將每個第25行的圖像變成黑色的所有像素,並在顯示器上實現圖像(已經用黑線顯示)。但有些事情是錯誤的,我沒有任何線索 - 整張照片從diplay中刪除,沒有顯示任何內容。代碼如下:更改像素後的JAVA中的圖像實現
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,儘管如此,一切正常。
對不起。我現在已經指出了這個問題 - 請參閱這篇文章。 – vonski
您正在創建一個與'in'大小相同的新的空BufferedImage'out',但絕不會將in中的數據複製到out。所以你在空白的圖像上畫一條黑線,然後顯示結果 - 然後將是空的。確保你首先複製'in'圖像。 –
什麼(類型)是'imagePanel'? – haraldK