Интерфейс ImageConsumer
- Все известные реализующие классы:
- AreaAveragingScaleFilter, BufferedImageFilter, CropImageFilter, GrayFilter, ImageFilter, PixelGrabber, ReplicateScaleFilter, RGBImageFilter
public interface ImageConsumer
Интерфейс для объектов, проявляющих интерес к данным изображения через интерфейсы ImageProducer. Когда потребитель добавляется к производителю изображений, производитель предоставляет все данные об изображении, используя вызовы методов, определенные в этом интерфейсе.
- См. также:
ImageProducer
Поля
| Модификатор и тип | Поле и описание |
|---|---|
static int |
COMPLETESCANLINES Пиксели будут передаваться (кратными) целыми строками сканирования за раз. |
static int |
IMAGEABORTED Процесс создания изображения был намеренно прерван. |
static int |
IMAGEERROR При производстве изображения возникла ошибка. |
static int |
RANDOMPIXELORDER Пиксели будут передаваться в случайном порядке. |
static int |
SINGLEFRAME Изображение содержит одно статическое изображение. |
static int |
SINGLEFRAMEDONE Один кадр изображения завершён, но должны быть переданы ещё кадры. |
static int |
SINGLEPASS Пиксели будут переданы за один проход. |
static int |
STATICIMAGEDONE Изображение завершено, и больше нет пикселей или кадров для передачи. |
static int |
TOPDOWNLEFTRIGHT Пиксели будут переданы сверху вниз, слева направо. |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
void |
imageComplete(int status) Метод imageComplete вызывается, когда ImageProducer завершает передачу всех пикселей, содержащихся в исходном изображении, или когда завершён один кадр анимации с несколькими кадрами, или когда произошла ошибка при загрузке или производстве изображения. |
void |
setColorModel(ColorModel model) Устанавливает объект ColorModel, используемый для большинства пикселей, сообщаемых с помощью вызовов метода setPixels. |
void |
setDimensions(int width,
int height) Размеры исходного изображения сообщаются с помощью вызова метода setDimensions. |
void |
setHints(int hintflags) Устанавливает подсказки, которые ImageConsumer использует для обработки пикселей, передаваемых ImageProducer. |
void |
setPixels(int x,
int y,
int w,
int h,
ColorModel model,
byte[] pixels,
int off,
int scansize) Передает пиксели изображения с помощью одного или нескольких вызовов этого метода. |
void |
setPixels(int x,
int y,
int w,
int h,
ColorModel model,
int[] pixels,
int off,
int scansize) Пиксели изображения передаются с помощью одного или нескольких вызовов метода setPixels. |
void |
setProperties(Hashtable<?,?> props) Устанавливает расширяемый список свойств, связанных с этим изображением. |
Поля
RANDOMPIXELORDER
static final int RANDOMPIXELORDER
Пиксели будут переданы в случайном порядке. Это сообщает ImageConsumer не использовать оптимизации, зависящие от порядка передачи пикселей, что должно быть предположением по умолчанию в отсутствие вызова метода setHints.
- См. также:
-
setHints(int), Значения константных полей
TOPDOWNLEFTRIGHT
static final int TOPDOWNLEFTRIGHT
Пиксели будут переданы сверху вниз, слева направо.
- См. также:
-
setHints(int), Значения константных полей
COMPLETESCANLINES
static final int COMPLETESCANLINES
Пиксели будут переданы (кратными) целыми строками сканирования за раз.
- См. также:
-
setHints(int), Значения константных полей
SINGLEPASS
static final int SINGLEPASS
Пиксели будут переданы за один проход. Каждый пиксель появится только в одном вызове любого из методов setPixels. Пример формата изображения, который не соответствует этому критерию, — это прогрессивное изображение JPEG, которое определяет пиксели на нескольких проходах, каждый из которых более детализирован, чем предыдущий.
- См. также:
-
setHints(int), Значения константных полей
SINGLEFRAME
static final int SINGLEFRAME
Изображение содержит одно статическое изображение. Пиксели будут определены в вызовах методов setPixels, а затем метод imageComplete будет вызван со флагом STATICIMAGEDONE после чего больше данных изображения не будет передано. Пример типа изображения, который не соответствовал бы этим критериям, — это вывод видеопотока или представление 3D-рендера, управляемого пользователем. Окончание каждого кадра в этих типах изображений будет указано вызовом imageComplete со флагом SINGLEFRAMEDONE.
- См. также:
-
setHints(int),imageComplete(int), Значения константных полей
IMAGEERROR
static final int IMAGEERROR
При создании изображения произошла ошибка.
- См. также:
-
imageComplete(int), Значения константных полей
SINGLEFRAMEDONE
static final int SINGLEFRAMEDONE
Один кадр изображения завершен, но есть еще кадры, которые должны быть переданы.
- См. также:
-
imageComplete(int), Значения константных полей
STATICIMAGEDONE
static final int STATICIMAGEDONE
Изображение завершено, и больше нет пикселей или кадров, которые должны быть переданы.
- См. также:
-
imageComplete(int), Значения константных полей
IMAGEABORTED
static final int IMAGEABORTED
Процесс создания изображения был намеренно прерван.
- См. также:
-
imageComplete(int), Значения константных полей
Методы
setDimensions
void setDimensions(int width,
int height) Размеры исходного изображения сообщаются с помощью вызова метода setDimensions.
- Параметры:
-
width- ширина исходного изображения -
height- высота исходного изображения
setProperties
void setProperties(Hashtable<?,?> props)
Устанавливает расширяемый список свойств, связанных с этим изображением.
- Параметры:
-
props- список свойств, которые должны быть связаны с этим изображением
setColorModel
void setColorModel(ColorModel model)
Устанавливает объект ColorModel, используемый для большинства пикселей, сообщаемых с помощью вызовов метода setPixels. Обратите внимание, что каждый набор пикселей, передаваемый с помощью setPixels, содержит свой собственный объект ColorModel, поэтому не следует предполагать, что этот модель будет единственной, используемой при передаче значений пикселей. Примечательный случай, где могут встречаться несколько объектов ColorModel, — это отфильтрованное изображение, когда для каждого набора пикселей, которые он фильтрует, фильтр определяет, могут ли пиксели быть отправлены без изменений, используя исходный ColorModel, или пиксели должны быть изменены (отфильтрованы) и отправлены с использованием ColorModel, более удобного для процесса фильтрации.
- Параметры:
-
model- указанныйColorModel - См. также:
ColorModel
setHints
void setHints(int hintflags)
Устанавливает подсказки, которые ImageConsumer использует для обработки пикселей, передаваемых ImageProducer. ImageProducer может передавать пиксели в любом порядке, но ImageConsumer может иметь возможность масштабировать или преобразовывать пиксели в целевой ColorModel более эффективно или с более высоким качеством, если он знает некоторую информацию о том, как пиксели будут переданы заранее. Метод setHints должен быть вызван до любых вызовов методов setPixels с битовой маской подсказок о способе передачи пикселей. Если ImageProducer не соблюдает указания для указанной подсказки, результаты не определены.
- Параметры:
-
hintflags- набор подсказок, используемых ImageConsumer для обработки пикселей
setPixels
void setPixels(int x,
int y,
int w,
int h,
ColorModel model,
byte[] pixels,
int off,
int scansize) Передает пиксели изображения с помощью одного или нескольких вызовов этого метода. Каждый вызов указывает расположение и размер прямоугольника исходных пикселей, содержащихся в массиве пикселей. Указанный объект ColorModel должен использоваться для преобразования пикселей в соответствующие цветовые и альфа-компоненты. Пиксель (m,n) хранится в массиве pixels по индексу (n * scansize + m + off). Передаваемые с помощью этого метода пиксели хранятся как байты.
- Параметры:
-
x- координата X верхнего левого угла области пикселей, которые нужно установить -
y- координата Y верхнего левого угла области пикселей, которые нужно установить -
w- ширина области пикселей -
h- высота области пикселей -
model- указанныйColorModel -
pixels- массив пикселей -
off- смещение в массивеpixels -
scansize- расстояние от одной строки пикселей до следующей в массивеpixels - См. также:
ColorModel
setPixels
void setPixels(int x,
int y,
int w,
int h,
ColorModel model,
int[] pixels,
int off,
int scansize) Пиксели изображения передаются с помощью одного или нескольких вызовов метода setPixels. Каждый вызов указывает расположение и размер прямоугольника исходных пикселей, содержащихся в массиве пикселей. Указанный объект ColorModel должен использоваться для преобразования пикселей в соответствующие цветовые и альфа-компоненты. Пиксель (m,n) хранится в массиве pixels по индексу (n * scansize + m + off). Пиксели, передаваемые с помощью этого метода, хранятся как целые числа.
- Параметры:
-
x- координата X верхнего левого угла области пикселей, которые нужно установить -
y- координата Y верхнего левого угла области пикселей, которые нужно установить -
w- ширина области пикселей -
h- высота области пикселей -
model- указанныйColorModel -
pixels- массив пикселей -
off- смещение в массивеpixels -
scansize- расстояние от одной строки пикселей до следующей в массивеpixels - См. также:
ColorModel
imageComplete
void imageComplete(int status)
Метод imageComplete вызывается, когда ImageProducer завершает передачу всех пикселей, содержащихся в исходном изображении, или когда завершен один кадр многокадровой анимации, или когда произошла ошибка при загрузке или производстве изображения. ImageConsumer должен удалить себя из списка потребителей, зарегистрированных в ImageProducer в этот момент, если он не заинтересован в последующих кадрах.
- Параметры:
-
status- состояние загрузки изображения - См. также:
ImageProducer.removeConsumer(java.awt.image.ImageConsumer)
© 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.