Класс Image
- java.lang.Object
-
- java.awt.Image
- Прямые известные подклассы:
- BufferedImage, VolatileImage
public abstract class Image extends Object
Абстрактный класс Image является суперклассом всех классов, представляющих графические изображения. Изображение должно быть получено платформно-специфическим способом.
- С момента:
- JDK1.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, который можно запросить для получения возможностей этого Image на заданной GraphicsConfiguration. |
abstract Graphics |
getGraphics() Создаёт контекст графики для отрисовки на изображении вне экрана. |
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
Используйте алгоритм масштабирования изображений по умолчанию.
- С момента:
- JDK1.1
- См. также:
- Значения константных полей
SCALE_FAST
public static final int SCALE_FAST
Выберите алгоритм масштабирования изображения, который отдаёт больший приоритет скорости масштабирования, чем плавности масштабированного изображения.
- С момента:
- JDK1.1
- См. также:
- Значения константных полей
SCALE_SMOOTH
public static final int SCALE_SMOOTH
Выберите алгоритм масштабирования изображения, который отдаёт больший приоритет плавности изображения, чем скорости масштабирования.
- С момента:
- JDK1.1
- См. также:
- Значения константных полей
SCALE_REPLICATE
public static final int SCALE_REPLICATE
Используйте алгоритм масштабирования изображения, реализованный в классе ReplicateScaleFilter. Объект Image может свободно заменить другой фильтр, который выполняет тот же алгоритм, но более эффективно интегрируется в инфраструктуру обработки изображений, предоставляемую инструментом.
- С момента:
- JDK1.1
- См. также:
-
ReplicateScaleFilter, Значения константных полей
SCALE_AREA_AVERAGING
public static final int SCALE_AREA_AVERAGING
Используйте алгоритм масштабирования изображения по среднему значению площади. Объект изображения может свободно заменить другой фильтр, который выполняет тот же алгоритм, но более эффективно интегрируется в инфраструктуру обработки изображений, предоставляемую инструментом.
- С момента:
- JDK1.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равно нулю. - С момента:
- JDK1.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, созданные классами Toolkit и Component, загруженные из файлов, 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 означает, что это изображение никогда не должно ускоряться. Другие значения используются только для определения приоритета ускорения по отношению к другим изображениям. - Исключения:
-
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.