图像与缓冲图像

2022-09-02 13:11:08

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

但是,我最近遇到了一使用该类而不是该类的不同站点,这让我想知道 - 有什么区别?ImageBufferedImage

我知道a有一个更大/优化的工具集,但确实需要付出任何代价?如果是这样,这种成本何时变得明显?在什么情况下你会使用 over a,反之亦然?BufferedImageImageBufferedImage


答案 1

BufferedImage extends Image. 只是一个基本的抽象类,您无法实例化它。在你正在使用的引擎盖下或其他实现。ImageBufferedImage


答案 2

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


推荐