图像与BufferedImage

每当处理Java中的图像加载和渲染时,我以前总是使用BufferedImage来存储和操作内存中的图像。

但是,我最近遇到了一些使用Image类而不是BufferedImage 不同 站点 ,这让我感到疑惑 – 有什么区别?

我知道BufferedImage有一个更大/优化的工具集,但不惜任何代价吗? 如果是这样,这个成本什么时候变得明显? 在哪种情况下你会在BufferedImage使用Image ,反之亦然?

BufferedImage extends ImageImage只是一个基本抽象类,您无法实例化它。 在幕后你肯定会使用BufferedImage或其他实现。

直接创建BufferedImage和Toolkit映像(java.awt.Toolkit或Image#getScaledInstance)之间不应该有任何真正的性能差异。 你永远不会有Image的实际实例,因为它是一个抽象类; 你只会处理它的子类(例如BufferedImage)。