Ответ 1
BufferedImage extends Image
. Image
- это только базовый абстрактный класс, и вы не можете его создать. Под капотом вы используете BufferedImage
или другую реализацию.
Всякий раз, когда вы занимаетесь загрузкой и отображением изображений в Java, я всегда использовал BufferedImage
для хранения и обработки изображений в памяти.
Однако я недавно встретил несколько different сайты, которые используют класс Image
вместо BufferedImage
, и мне стало интересно - в чем отличия?
Я знаю, что BufferedImage
имеет большой/оптимизированный набор инструментов, но приносит любую цену? Если да, когда это становится заметным? В каких ситуациях вы использовали бы Image
над a BufferedImage
или наоборот?
BufferedImage extends Image
. Image
- это только базовый абстрактный класс, и вы не можете его создать. Под капотом вы используете BufferedImage
или другую реализацию.
Не должно быть реальной разницы в производительности между непосредственным созданием образа BufferedImage и Toolkit (java.awt.Toolkit или Image # getScaledInstance). У вас никогда не будет фактического экземпляра Image, потому что он абстрактный класс; вы будете иметь дело только с его подклассами (например, BufferedImage).