Spec-Zone.ru › OpenJDK 21

Класс RGBImageFilter

java.lang.Object
java.awt.image.ImageFilter
java.awt.image.RGBImageFilter
Все реализованные интерфейсы:
ImageConsumer, Cloneable
Прямые известные подклассы:
GrayFilter
public abstract class RGBImageFilter extends ImageFilter
Этот класс предоставляет простой способ создания ImageFilter, который изменяет пиксели изображения в стандартной цветовой модели RGB. Он предназначен для использования совместно с объектом FilteredImageSource для создания отфильтрованных версий существующих изображений. Это абстрактный класс, который предоставляет вызовы для передачи всех данных пикселей через один метод, преобразующий пиксели по одному в стандартной цветовой модели RGB независимо от цветовой модели, используемой ImageProducer. Единственный метод, который необходимо определить для создания полезного фильтра изображения, это метод filterRGB. Вот пример определения фильтра, который меняет местами красный и синий компоненты изображения:


      class RedBlueSwapFilter extends RGBImageFilter {
          public RedBlueSwapFilter() {
              // The filter's operation does not depend on the
              // pixel's location, so IndexColorModels can be
              // filtered directly.
              canFilterIndexColorModel = true;
          }

          public int filterRGB(int x, int y, int rgb) {
              return ((rgb & 0xff00ff00)
                      | ((rgb & 0xff0000) >> 16)
                      | ((rgb & 0xff) << 16));
          }
      }

 
См. также:
  • FilteredImageSource
  • ImageFilter
  • ColorModel.getRGBdefault()

Краткое описание полей

Модификатор и тип Поле Описание
protected boolean canFilterIndexColorModel
Этот булевый признак указывает, допускается ли применение цветового фильтра метода filterRGB к элементам цветовой таблицы объекта IndexColorModel вместо фильтрации пикселей по одному.
protected ColorModel newmodel
ColorModel для замены origmodel когда пользователь вызывает substituteColorModel.
protected ColorModel origmodel
ColorModel для замены newmodel когда пользователь вызывает substituteColorModel.

Поля, объявленные в классе java.awt.image.ImageFilter

consumer

Поля, объявленные в интерфейсе java.awt.image.ImageConsumer

COMPLETESCANLINES, IMAGEABORTED, IMAGEERROR, RANDOMPIXELORDER, SINGLEFRAME, SINGLEFRAMEDONE, SINGLEPASS, STATICIMAGEDONE, TOPDOWNLEFTRIGHT

Краткое описание конструкторов

RGBImageFilter()
Модификатор Конструктор Описание
protected
Конструктор для вызова подклассами.

Краткое описание методов

Модификатор и тип Метод Описание
IndexColorModel filterIndexColorModel(IndexColorModel icm)
Фильтрует объект IndexColorModel, пропуская каждый элемент в его таблицах цветов через функцию filterRGB, которую должны предоставить подклассы RGBImageFilter.
abstract int filterRGB(int x, int y, int rgb)
Подклассы должны указать метод преобразования одного входного пикселя в стандартной цветовой модели RGB в один выходной пиксель.
void filterRGBPixels(int x, int y, int w, int h, int[] pixels, int off, int scansize)
Фильтрует буфер пикселей в стандартной цветовой модели RGB, передавая их по одному через метод filterRGB.
void setColorModel(ColorModel model)
Если ColorModel является IndexColorModel, и подкласс установил флаг canFilterIndexColorModel в true, мы заменяем здесь и везде, где этот исходный объект ColorModel появляется в методах setPixels, отфильтрованную версию цветовой модели.
void setPixels(int x, int y, int w, int h, ColorModel model, byte[] pixels, int off, int scansize)
Если объект ColorModel — тот же, который уже был преобразован, то просто пропускает пиксели с преобразованной цветовой моделью.
void setPixels(int x, int y, int w, int h, ColorModel model, int[] pixels, int off, int scansize)
Если объект ColorModel — тот же, который уже был преобразован, то просто пропускает пиксели с преобразованной цветовой моделью, иначе преобразует буфер целочисленных пикселей в стандартную цветовую модель RGB и передает преобразованный буфер методу filterRGBPixels для преобразования по одному.
void substituteColorModel(ColorModel oldcm, ColorModel newcm)
Регистрирует два объекта ColorModel для замены.

Методы, объявленные в классе java.awt.image.ImageFilter

clone, getFilterInstance, imageComplete, resendTopDownLeftRight, setDimensions, setHints, setProperties

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

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

Подробное описание полей

origmodel

protected ColorModel origmodel
Модель ColorModel для замены newmodel при вызове пользователем substituteColorModel.

newmodel

protected ColorModel newmodel
Новая ColorModel для замены origmodel при вызове пользователем substituteColorModel.

canFilterIndexColorModel

protected boolean canFilterIndexColorModel
Этот булевый флаг указывает, разрешено ли применение цветового фильтра метода filterRGB к таблицам цветов объекта IndexColorModel вместо фильтрации по пикселям. Подклассы должны установить эту переменную в true в конструкторе, если их метод filterRGB не зависит от координат фильтруемого пикселя.
См. также:
  • substituteColorModel(java.awt.image.ColorModel, java.awt.image.ColorModel)
  • filterRGB(int, int, int)
  • IndexColorModel

Подробное описание конструкторов

RGBImageFilter

protected RGBImageFilter()
Конструктор для вызова подклассами.

Подробное описание методов

setColorModel

public void setColorModel(ColorModel model)
Если ColorModel является IndexColorModel, и подкласс установил флаг canFilterIndexColorModel в true, мы подменяем отфильтрованную версию модели цвета здесь и везде, где в методах setPixels появляется исходный объект ColorModel. Если ColorModel не является IndexColorModel или равен null, этот метод переопределяет используемую по умолчанию ColorModel ImageProducer и задает вместо нее стандартную RGB-модель цвета.

Примечание: этот метод предназначен для вызова ImageProducer Image пиксели которого фильтруются. Разработчики, использующие этот класс для фильтрации пикселей изображения, должны избегать прямого вызова этого метода, так как это может повлиять на процесс фильтрации.

Унаследован от:
setColorModel в интерфейсе ImageConsumer
Переопределяет:
setColorModel в классе ImageFilter
Параметры:
model - заданная ColorModel
См. также:
  • ImageConsumer
  • ColorModel.getRGBdefault()

substituteColorModel

public void substituteColorModel(ColorModel oldcm, ColorModel newcm)
Регистрирует два объекта ColorModel для подстановки. Если oldcm встречается во время вызова методов setPixels, newcm подставляется, а пиксели передаются без изменений (но с новым объектом ColorModel).
Параметры:
oldcm - объект ColorModel, который необходимо заменить на лету
newcm - объект ColorModel, который заменит oldcm на лету

filterIndexColorModel

public IndexColorModel filterIndexColorModel(IndexColorModel icm)
Фильтрует объект IndexColorModel, применяя к каждому элементу его таблиц цветов функцию filterRGB, которую должны предоставлять подклассы RGBImageFilter. Использует координаты -1 для указания того, что фильтруется элемент таблицы цветов, а не фактическое значение пикселя.
Параметры:
icm - объект IndexColorModel, который нужно отфильтровать
Возвращает:
новый IndexColorModel, представляющий отфильтрованные цвета
Исключения:
NullPointerException - если icm равно null

filterRGBPixels

public void filterRGBPixels(int x, int y, int w, int h, int[] pixels, int off, int scansize)
Фильтрует буфер пикселей в стандартной RGB-модели цвета, передавая их по одному через метод filterRGB.
Параметры:
x - координата X левого верхнего угла области пикселей
y - координата Y левого верхнего угла области пикселей
w - ширина области пикселей
h - высота области пикселей
pixels - массив пикселей
off - смещение в массиве pixels
scansize - расстояние между строками пикселей в массиве
См. также:
  • ColorModel.getRGBdefault()
  • filterRGB(int, int, int)

setPixels

public void setPixels(int x, int y, int w, int h, ColorModel model, byte[] pixels, int off, int scansize)
Если объект ColorModel - тот же, что и уже преобразованный, то просто пропускает пиксели через преобразованную ColorModel. В противном случае преобразует буфер байтовых пикселей в стандартную RGB-модель цвета и передает преобразованный буфер методу filterRGBPixels для преобразования по одному.

Примечание: этот метод предназначен для вызова ImageProducer Image пиксели которого фильтруются. Разработчики, использующие этот класс для фильтрации пикселей изображения, должны избегать прямого вызова этого метода, так как это может повлиять на процесс фильтрации.

Унаследован от:
setPixels в интерфейсе ImageConsumer
Переопределяет:
setPixels в классе ImageFilter
Параметры:
x - координата X левого верхнего угла области пикселей для задания
y - координата Y левого верхнего угла области пикселей для задания
w - ширина области пикселей
h - высота области пикселей
model - указанный ColorModel
pixels - массив пикселей
off - смещение в массиве pixels
scansize - расстояние между строками пикселей в массиве pixels
См. также:
  • ColorModel.getRGBdefault()
  • filterRGBPixels(int, int, int, int, int[], int, int)

setPixels

public void setPixels(int x, int y, int w, int h, ColorModel model, int[] pixels, int off, int scansize)
Если объект ColorModel - тот же, что и уже преобразованный, то просто пропускает пиксели через преобразованную ColorModel, в противном случае преобразует буфер целочисленных пикселей в стандартную RGB-модель цвета и передает преобразованный буфер методу filterRGBPixels для преобразования по одному. Преобразует буфер целочисленных пикселей в стандартную RGB-модель цвета и передает преобразованный буфер методу filterRGBPixels.

Примечание: этот метод предназначен для вызова ImageProducer Image пиксели которого фильтруются. Разработчики, использующие этот класс для фильтрации пикселей изображения, должны избегать прямого вызова этого метода, так как это может повлиять на процесс фильтрации.

Унаследован от:
setPixels в интерфейсе ImageConsumer
Переопределяет:
setPixels в классе ImageFilter
Параметры:
x - координата X левого верхнего угла области пикселей для задания
y - координата Y левого верхнего угла области пикселей для задания
w - ширина области пикселей
h - высота области пикселей
model - заданная ColorModel
pixels - массив пикселей
off - смещение в массиве pixels
scansize - расстояние между строками пикселей в массиве pixels
См. также:
  • ColorModel.getRGBdefault()
  • filterRGBPixels(int, int, int, int, int[], int, int)

filterRGB

public abstract int filterRGB(int x, int y, int rgb)
Подклассы должны указать метод для преобразования отдельного входного пикселя в стандартной RGB-модели цвета в отдельный выходной пиксель.
Параметры:
x - координата X пикселя
y - координата Y пикселя
rgb - целое представление пикселя в стандартной RGB-модели цвета
Возвращает:
отфильтрованный пиксель в стандартной RGB-модели цвета.
См. также:
  • ColorModel.getRGBdefault()
  • filterRGBPixels(int, int, int, int, int[], int, int)

© 1993, 2023, 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/21/docs/api/java.desktop/java/awt/image/RGBImageFilter.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API