我的代码中生成了一个图像图标,我将其作为图标放在标签上,按照以下代码:
ImageIcon icon = new ImageIcon(barcode.drawBarcode());
jLabel36.setIcon(icon);
现在我的问题是如何将ImageIcon类型更改为Image并将其保存在硬盘上。当我尝试将ImageIcon类型转换为Image时,会出现以下错误:
java.lang.ClassCastException:javax.swing.ImageIcon无法强制转换为java.awt.Image
任何人都可以建议我如何实现此任务,无论是输入还是保存图像。
答案 0 :(得分:6)
只需使用getImage()
:
// get image from imageicon
Image image = icon.getImage();
// cast it to bufferedimage
BufferedImage buffered = (BufferedImage) image;
try {
// save to file
File outputfile = new File("saved.png");
ImageIO.write(buffered, "png", outputfile);
} catch (IOException e) {
e.printStackTrace();
}