Класс Image
- java.lang.Object
-
- java.awt.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 | Использовать алгоритм масштабирования изображения, реализованный в классе |
static int | SCALE_SMOOTH | Выбрать алгоритм масштабирования изображения, отдавая приоритет плавности изображения перед скоростью масштабирования. |
static Object | 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