图像与BufferedImage
每当处理Java中的图像加载和渲染时,我以前总是使用BufferedImage
来存储和操作内存中的图像。
但是,我最近遇到了一些使用Image
类而不是BufferedImage
不同 站点 ,这让我感到疑惑 – 有什么区别?
我知道BufferedImage
有一个更大/优化的工具集,但不惜任何代价吗? 如果是这样,这个成本什么时候变得明显? 在哪种情况下你会在BufferedImage
使用Image
,反之亦然?
BufferedImage extends Image
。 Image
只是一个基本抽象类,您无法实例化它。 在幕后你肯定会使用BufferedImage
或其他实现。
直接创建BufferedImage和Toolkit映像(java.awt.Toolkit或Image#getScaledInstance)之间不应该有任何真正的性能差异。 你永远不会有Image的实际实例,因为它是一个抽象类; 你只会处理它的子类(例如BufferedImage)。