我需要将ImageIcon转换为程序的Image,我应该怎么做呢?我有一种可以使用的铸造方法或内置方法来做到这一点吗?
答案 0 :(得分:2)
基于我链接的问题的答案。我不确定你的意思是哪个Image
,将它保存为文件或获取java Image
实例,但如果你的意思是后者,你可以使用第二种方法,或者使用前者(如果你需要的话,取决于后者。
// format should be "jpg", "gif", etc.
public void saveIconToFile(ImageIcon icon, String filename, String format) throws IOException {
BufferedImage image = iconToImage(icon);
File output = new File(filename);
ImageIO.write(bufferedImage, format, outputfile);
}
public BufferedImage iconToImage(ImageIcon icon) {
BufferedImage bi = new BufferedImage(
icon.getIconWidth(),
icon.getIconHeight(),
BufferedImage.TYPE_INT_ARGB);
Graphics g = bi.createGraphics();
// paint the Icon to the BufferedImage.
icon.paintIcon(null, g, 0,0);
g.dispose();
return bi;
}