Класс Image

Прямые известные подклассы:
AbstractMultiResolutionImage, BufferedImage, VolatileImage
public abstract class Image
extends Object

Абстрактный класс Image — суперкласс всех классов, представляющих графические изображения. Изображение должно быть получено с использованием платформоспецифичных методов.

С момента:
1.0

Поля

Модификатор и тип Поле Описание
protected float accelerationPriority

Приоритет ускорения этого изображения.

static int SCALE_AREA_AVERAGING

Использовать алгоритм масштабирования изображения Area Averaging.

static int SCALE_DEFAULT

Использовать алгоритм масштабирования изображения по умолчанию.

static int SCALE_FAST

Выбрать алгоритм масштабирования изображения, отдавая приоритет скорости масштабирования перед плавностью масштабируемого изображения.

static int SCALE_REPLICATE

Использовать алгоритм масштабирования изображения, реализованный в классе ReplicateScaleFilter.

static int SCALE_SMOOTH

Выбрать алгоритм масштабирования изображения, отдавая приоритет плавности изображения перед скоростью масштабирования.

static Object UndefinedProperty

Объект UndefinedProperty должен возвращаться всякий раз, когда извлекается свойство, которое не было определено для данного изображения.

Конструкторы

Конструктор Описание
Image()

Методы

Модификатор и тип Метод Описание
void flush()

Очищает все ресурсы, которые можно восстановить, используемые объектом Image.

float getAccelerationPriority()

Возвращает текущее значение подсказки приоритета ускорения.

ImageCapabilities getCapabilities​(GraphicsConfiguration gc)

Возвращает объект ImageCapabilities, который можно запросить о возможностях этого изображения в указанной GraphicsConfiguration.

abstract Graphics getGraphics()

Создает контекст графики для рисования на off-screen изображении.

abstract int getHeight​(ImageObserver observer)

Определяет высоту изображения.

abstract Object getProperty​(String name, ImageObserver observer)

Получает свойство этого изображения по имени.

Image getScaledInstance​(int width, int height, int hints)

Создает масштабированную версию этого изображения.

abstract ImageProducer getSource()

Получает объект, который генерирует пиксели для изображения.

abstract int getWidth​(ImageObserver observer)

Определяет ширину изображения.

void setAccelerationPriority​(float priority)

Устанавливает подсказку для этого изображения о важности ускорения.

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Поля

accelerationPriority

protected float accelerationPriority

Приоритет ускорения этого изображения. Подклассы могут устанавливать разные значения по умолчанию, а приложения могут задавать приоритет для определенных изображений через метод setAccelerationPriority(float).

С момента:
1.5

UndefinedProperty

public static final Object UndefinedProperty

Объект UndefinedProperty должен возвращаться всякий раз, когда извлекается свойство, которое не было определено для данного изображения.

SCALE_DEFAULT

public static final int SCALE_DEFAULT

Использовать алгоритм масштабирования изображения по умолчанию.

С момента:
1.1
См. также:
Значения постоянных полей

SCALE_FAST

public static final int SCALE_FAST

Выбрать алгоритм масштабирования изображения, отдавая приоритет скорости масштабирования перед плавностью масштабируемого изображения.

С момента:
1.1
См. также:
Значения постоянных полей

SCALE_SMOOTH

public static final int SCALE_SMOOTH

Выбрать алгоритм масштабирования изображения, отдавая приоритет плавности изображения перед скоростью масштабирования.

С момента:
1.1
См. также:
Значения постоянных полей

SCALE_REPLICATE

public static final int SCALE_REPLICATE

Использовать алгоритм масштабирования изображения, реализованный в классе ReplicateScaleFilter. Объект Image свободен заменить другой фильтр, выполняющий тот же алгоритм, но более эффективно интегрирующийся в инфраструктуру обработки изображений, предоставляемую инструментом.

С момента:
1.1
См. также:
ReplicateScaleFilter, Значения постоянных полей

SCALE_AREA_AVERAGING

public static final int SCALE_AREA_AVERAGING

Использовать алгоритм масштабирования изображения Area Averaging. Объект изображения свободен заменить другой фильтр, выполняющий тот же алгоритм, но более эффективно интегрирующийся в инфраструктуру обработки изображений, предоставляемую инструментом.

С момента:
1.1
См. также:
AreaAveragingScaleFilter, Значения постоянных полей

Конструкторы

Image

public Image()

Методы

getWidth

public abstract int getWidth(ImageObserver observer)

Определяет ширину изображения. Если ширина ещё не известна, этот метод возвращает -1 и указанный ImageObserver объект получает уведомление позже.

Параметры:
observer - объект, ожидающий загрузки изображения.
Возвращает:
ширину этого изображения или -1 , если ширина ещё не известна.
См. также:
getHeight(java.awt.image.ImageObserver), ImageObserver

getHeight

public abstract int getHeight(ImageObserver observer)

Определяет высоту изображения. Если высота ещё не известна, этот метод возвращает -1 и указанный ImageObserver объект получает уведомление позже.

Параметры:
observer - объект, ожидающий загрузки изображения.
Возвращает:
высоту этого изображения или -1 , если высота ещё не известна.
См. также:
getWidth(java.awt.image.ImageObserver), ImageObserver

getSource

public abstract ImageProducer getSource()

Получает объект, производящий пиксели для изображения. Этот метод вызывается классами фильтрации изображений и методами, выполняющими преобразование и масштабирование изображений.

Возвращает:
производитель изображений, производящий пиксели для этого изображения.
См. также:
ImageProducer

getGraphics

public abstract Graphics getGraphics()

Создаёт контекст графики для рисования на изображении вне экрана. Этот метод можно вызывать только для изображений вне экрана.

Возвращает:
контекст графики для рисования на изображении вне экрана.
Выбрасывает:
UnsupportedOperationException - если вызван для изображения не вне экрана.
См. также:
Graphics, Component.createImage(int, int)

getProperty

public abstract Object getProperty(String name,
                                   ImageObserver observer)

Получает свойство этого изображения по имени.

Индивидуальные имена свойств определяются различными форматами изображений. Если свойство не определено для конкретного изображения, этот метод возвращает объект UndefinedProperty.

Если свойства для этого изображения ещё не известны, этот метод возвращает null, а объект ImageObserver уведомляется позже.

Имя свойства "comment" должно использоваться для хранения необязательного комментария, который может быть представлен приложению как описание изображения, его источника или автора.

Параметры:
name - имя свойства.
observer - объект, ожидающий загрузки этого изображения.
Возвращает:
значение именованного свойства.
Выбрасывает:
NullPointerException - если имя свойства равно null.
См. также:
ImageObserver, UndefinedProperty

getScaledInstance

public Image getScaledInstance(int width,
                               int height,
                               int hints)

Создаёт масштабированную версию этого изображения. Возвращается новый объект Image, который будет отображать изображение с указанными width и height по умолчанию. Новый объект Image может загружаться асинхронно, даже если исходное изображение уже загружено полностью.

Если либо width , либо height является отрицательным числом, то значение подставляется для сохранения соотношения сторон исходных размеров изображения. Если оба width и height отрицательные, то используются исходные размеры изображения.

Параметры:
width - ширина, до которой нужно масштабировать изображение.
height - высота, до которой нужно масштабировать изображение.
hints - флаги, указывающие тип алгоритма, используемого для повторной выборки изображений.
Возвращает:
масштабированную версию изображения.
Выбрасывает:
IllegalArgumentException - если width или height равно нулю.
С тех пор:
1.1
См. также:
SCALE_DEFAULT, SCALE_FAST, SCALE_SMOOTH, SCALE_REPLICATE, SCALE_AREA_AVERAGING

flush

public void flush()

Очищает все ресурсы, которые можно восстановить, используемые этим объектом Image. Это включает в себя любые данные пикселей, которые кэшируются для отображения на экране, а также любые системные ресурсы, которые используются для хранения данных или пикселей для изображения, если они могут быть воссозданы. Изображение сбрасывается в состояние, аналогичное состоянию при его первом создании, так что если оно будет снова отображаться, данные изображения необходимо будет воссоздать или снова извлечь из источника.

Примеры того, как этот метод влияет на определённые типы объекта Image:

  • Объекты BufferedImage оставляют основной Raster, хранящий их пиксели, неизменным, но очищают любые кэшированные данные о этих пикселях, такие как копии, загруженные в аппаратное обеспечение дисплея для ускоренных блинков.
  • Объекты Image, созданные методами компонента, принимающими ширину и высоту, оставляют свой основной буфер пикселей без изменений, но освобождают все кэшированные данные, аналогично тому, как это делается для объектов BufferedImage.
  • Объекты VolatileImage освобождают все свои ресурсы пикселей, включая свою основную копию, которая обычно хранится в аппаратном обеспечении дисплея, где ресурсы ограничены. Эти объекты позже могут быть восстановлены с помощью метода validate.
  • Объекты Image, созданные инструментарием и классами компонентов, загруженные из файлов, URL-адресов или созданные ImageProducer, выгружаются, и все локальные ресурсы освобождаются. Эти объекты позже могут быть перезагружены из их исходного источника по мере необходимости, когда они отображаются, так же как и при их первом создании.

getCapabilities

public ImageCapabilities getCapabilities(GraphicsConfiguration gc)

Возвращает объект ImageCapabilities, который можно запросить по отношению к возможностям этого изображения на указанном GraphicsConfiguration. Это позволяет программистам получить дополнительную информацию о выполнении на конкретном объекте Image, который они создали. Например, пользователь может создать BufferedImage, но система может не иметь места в видеопамяти для создания изображения такого размера на данном GraphicsConfiguration, поэтому, хотя объект может быть ускоряемый в целом, он не имеет этой возможности на этом GraphicsConfiguration.

Параметры:
gc - объект GraphicsConfiguration. Значение null для этого параметра приведет к получению возможностей изображения для стандартного GraphicsConfiguration.
Возвращает:
объект ImageCapabilities, который содержит возможности этого Image на указанном GraphicsConfiguration.
С тех пор:
1.5
См. также:
VolatileImage.getCapabilities()

setAccelerationPriority

public void setAccelerationPriority(float priority)

Устанавливает подсказку для этого изображения о том, насколько важна ускорение. Эта подсказка по приоритету используется для сравнения с приоритетами других объектов Image при определении того, как использовать дефицитные ресурсы ускорения, такие как видеопамять. Если и когда возможно ускорение этого изображения, если доступных ресурсов недостаточно для обеспечения такого ускорения, но достаточно для освобождения путём отключения ускорения какого-либо другого изображения с более низким приоритетом, то это другое изображение может быть отключено от ускорения в пользу этого. Изображения с одинаковым приоритетом занимают ресурсы на основе принципа «первым пришёл, первым обслужен».

Параметры:
priority - значение от 0 до 1 включительно, где более высокие значения означают более высокую важность ускорения. Значение 0 означает, что это Image никогда не должно ускоряться. Другие значения используются только для определения приоритета ускорения относительно других изображений.
Выбрасывает:
IllegalArgumentException - если priority меньше нуля или больше 1.
С тех пор:
1.5

getAccelerationPriority

public float getAccelerationPriority()

Возвращает текущее значение подсказки приоритета ускорения.

Возвращает:
значение от 0 до 1 включительно, которое представляет текущее значение приоритета
С тех пор:
1.5
См. также:
setAccelerationPriority

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/java/awt/Image.html

Spec-Zone .ru
спецификации, руководства, описания, API