将imagicon转换为图像

时间:2013-09-21 21:40:22

标签: java image swing imageicon

我需要将ImageIcon转换为程序的Image,我应该怎么做呢?我有一种可以使用的铸造方法或内置方法来做到这一点吗?

1 个答案:

答案 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;
}