|
Spec-Zone .ru
спецификации, руководства, описания, API
|
Мы уже знаем, как загрузить существующее изображение, которое создавалось и сохранено в Вашей системе или в любом сетевом расположении. Но, вероятно, требуется также создать новое изображение как буфер пиксельных данных.
В этом случае можно создать a BufferedImage возразите вручную, используя трех конструкторов этого class:
BufferedImage из одного из предопределенных типов изображения.BufferedImage из одного из предопределенных типов изображения: TYPE_BYTE_BINARY или TYPE_BYTE_INDEXED.new BufferedImage(colorModel, raster, premultiplied, properties) - создает новое BufferedImage с указанным ColorModel и Raster.С другой стороны мы можем использовать методы Component class. Эти методы могут проанализировать разрешение дисплея для данного Component или GraphicsConfiguration и создайте изображение соответствующего типа.
Component.createImage(width, height)GraphicsConfiguration.createCompatibleImage(width, height)GraphicsConfiguration.createCompatibleImage(width, height, transparency)GraphicsConfiguration возвращает объект типа BufferedImage, но Компонент возвращает объект Image type, если Вы нуждаетесь в объекте BufferedImage вместо этого тогда, можно выполнить instanceof и бросок к a BufferedImage в Вашем коде.
Как был уже упомянут в предыдущих уроках, мы можем представить изображения не только на экране. Сами изображения можно рассмотреть как поверхность рисунка. Можно использовать a createGraphics() метод BufferedImage class с этой целью:
...
BufferedImage off_Image =
new BufferedImage(100, 50,
BufferedImage.TYPE_INT_ARGB);
Graphics2D g2 = off_Image.createGraphics();
Другое интересное использование внеэкранных изображений является буферизацией automaticdouble. Эта функция позволяет избегать мерцания в изображениях с анимацией при рисовании изображения к заднему буферу и затем копируя тот буфер на экран вместо того, чтобы тянуть непосредственно на экран.
Java 2D™ также предоставляет доступ к аппаратному ускорению для внеэкранных изображений, которые могут обеспечить лучшую производительность рендеринга к и копирования с этих изображений. Можно извлечь пользу из этой функциональности при использовании следующих методов Image class:
getCapabilities метод позволяет Вам определять, ускоряется ли изображение в настоящий момент.setAccelerationPriority метод позволяет Вам устанавливать подсказку о том, как важное ускорение для изображения.getAccelerationPriority метод получает подсказку об ускоряющей важности.