12

我一直在尝试将 a 转换ImageIconBufferedImage...而且我没有运气。

我有一个预先存在的 ImageIcon 需要转换为 Buffered Image 以用于存在的大量 BufferedImage 操作。

我找到了几种方法,但它们都占用大量 CPU。

4

3 回答 3

39

有什么问题:

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();
于 2013-02-24T15:26:03.670 回答
9

请参阅ImageIconImageBufferedImage

ImageIcon yourImage;
Image image = yourImage.getImage();
BufferedImage buffered = (BufferedImage) image;
于 2013-02-24T15:29:39.563 回答
-3

我尝试了一个叫做 Scalr 的东西,查看下面的代码

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

干杯。

于 2013-02-24T15:28:11.700 回答