Spec-Zone.ru › OpenJDK 8

Класс 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()

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

Модификатор и тип Метод и описание
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, здесь и повсюду, где в методах setPixels появляется исходный объект ColorModel, мы подставляем отфильтрованную версию цветовой модели.

void setPixels(int x, int y, int w, int h, ColorModel model, byte[] pixels, int off, int scansize)

Если объект ColorModel — тот же, что уже был преобразован, то просто пропускает пиксели через преобразованный ColorModel.

void setPixels(int x, int y, int w, int h, ColorModel model, int[] pixels, int off, int scansize)

Если объект ColorModel — тот же, что уже был преобразован, то просто пропускает пиксели через преобразованный 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

public RGBImageFilter()

Методы

setColorModel

public void setColorModel(ColorModel model)

Если ColorModel является IndexColorModel, и подкласс установил флаг canFilterIndexColorModel в true, мы заменяем здесь и везде, где появляется этот исходный объект ColorModel в методах setPixels, отфильтрованную версию модели цвета. Если ColorModel не является IndexColorModel или равен null, этот метод переопределяет используемую по умолчанию модель цвета 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 — тот же, что уже был преобразован, он просто пропускает пиксели через преобразованную модель цвета. В противном случае он преобразует буфер байтовых пикселей в стандартную 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 ColorModel и передает преобразованный буфер методу filterRGBPixels для преобразования по одному. Преобразует буфер целочисленных пикселей в стандартный RGB ColorModel и передает преобразованный буфер методу 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, 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.

Spec-Zone.ru

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