转换一个ImageIcon到一个BufferedImage(Converting an ImageI

2019-07-20 11:10发布

我一直在尝试转换ImageIconBufferedImage ......我已经没有运气。

我有一个需要被转换为缓冲图像为存在的BufferedImage操作的大量预先存在的ImageIcon。

我已经找到了一些方法,但所有这些都是巨大的CPU密集型。

Answer 1:

出了什么问题:

BufferedImage bi = new BufferedImage(
    icon.getIconWidth(),
    icon.getIconHeight(),
    BufferedImage.TYPE_INT_RGB);
Graphics g = bi.createGraphics();
// paint the Icon to the BufferedImage.
icon.paintIcon(null, g, 0,0);
g.dispose();


Answer 2:

见的ImageIcon , 图片和BufferedImage的 :

ImageIcon yourImage;
Image image = yourImage.getImage();
BufferedImage buffered = (BufferedImage) image;


Answer 3:

我试过一种叫Scalr,查看下面的代码

Scalr.resize((BufferedImage) ImageIO.read(file), Method.SPEED, 250, OP_ANTIALIAS, OP_BRIGHTER);

干杯。



文章来源: Converting an ImageIcon to a BufferedImage