Image BufferImage 和 ImageIcon的区别

Image直属java.awt包,抽象类。


BufferImage为image的直接子类,增加了缓冲功能。BufferedImage生成的图片在内存里有一个图像缓冲区,利用这个缓冲区我们可以很方便的操作这个图片,通常用来做图片修改操作如大小变换、图片变灰、设置图片透明或不透明等。

加载图片到内存:
BufferedImage image = ImageIO.read(new FileInputStream(imgPath));//利用getGraphics()函数获得图形上下文作进一步操作。

//Image image=imageToolkit.getDefaultToolkit().getImage(imgPath);这种方法并未将图片加载到内存,仅仅是引用。


ImageIcon直属javax.swing包 
类定义:
public class ImageIcon extends Object  implements Icon, Serializable, Accessible。


imageicon与image的关系是:imageicon利用image绘制icon。不过,Image一般尺寸较大,不适合用作icon(大图片用作icon时只显示图片的一部分),需要经过处理:
ImageIcon imageIcon = new ImageIcon(new File(path));
Image image = imageIcon.getImage();                         
image = image.getScaledInstance(30,20,Image.SCALE_FAST);
ImageIcon icon = new ImageIcon(image);//利用imageicon的构造函数 public ImageIcon(Image i)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值