我创建了一个桌面应用程序,我可以在其中打开相同的图像在两个internalFrame
s 中。我需要在应用程序中将其中一张图像更改为灰度。
我的尝试如下所示。当我单击文件菜单中的按钮时,我需要一张内部帧图像作为原始图像,另一张是灰度图像。
GuiPanelImage(File fileName) {
width = GuiPanelImage.WINDOW_WIDTH;
height = GuiPanelImage.WINDOW_HEIGHT;
try {
BufferedImage inputImage = ImageIO.read(fileName);
outputImage = new BufferedImage(inputImage.getWidth(),
inputImage.getHeight(), BufferedImage.TYPE_INT_ARGB);
// I can replace .TYPE_INT_ARGB with .TYPE_BYTE_GRAY to convert to grayscale
picture = new ImageIcon(fileName.getPath());
Graphics2D g2d = ( Graphics2D) outputImage.createGraphics();
g2d.drawImage(inputImage, 0, 0, null);
}
catch (IOException ex) {
Logger.getLogger(GuiPanelImage.class.getName()).log(Level.SEVERE,
null, ex);
}
}