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