Класс ColorConvertOp

Все реализованные интерфейсы:
BufferedImageOp, RasterOp
public class ColorConvertOp
extends Object
implements BufferedImageOp, RasterOp

Этот класс выполняет преобразование цвета пикселя за пикселем данных в исходном изображении. Результирующие значения цвета масштабируются до точности целевого изображения. Преобразование цвета можно указать с помощью массива объектов ColorSpace или массива объектов ICC_Profile.

Если исходный объект — BufferedImage с предварительно умноженным альфа-каналом, цветовые компоненты делятся на альфа-компонент перед преобразованием цвета. Если целевой объект — BufferedImage с предварительно умноженным альфа-каналом, цветовые компоненты умножаются на альфа-компонент после преобразования. Растры обрабатываются как не имеющие альфа-канала, т. е. все каналы являются цветовыми.

Если в конструкторе задан объект RenderingHints, можно использовать подсказку по цветовому рендерингу и подсказку по дизерингу для управления преобразованием цвета.

Обратите внимание, что исходный и целевой объекты могут быть одним и тем же объектом.

См. также:
RenderingHints.KEY_COLOR_RENDERING, RenderingHints.KEY_DITHERING

Конструкторы

Конструктор Описание
ColorConvertOp​(ColorSpace srcCspace, ColorSpace dstCspace, RenderingHints hints)

Создаёт новый ColorConvertOp из двух объектов ColorSpace.

ColorConvertOp​(ColorSpace cspace, RenderingHints hints)

Создаёт новый ColorConvertOp из объекта ColorSpace.

ColorConvertOp​(ICC_Profile[] profiles, RenderingHints hints)

Создаёт новый ColorConvertOp из массива объектов ICC_Profiles.

ColorConvertOp​(RenderingHints hints)

Создаёт новый ColorConvertOp, который будет преобразовывать из исходного цветового пространства в целевое цветовое пространство.

Методы

Модификатор и тип Метод Описание
BufferedImage createCompatibleDestImage​(BufferedImage src, ColorModel destCM)

Создаёт нулевое целевое изображение с правильным размером и количеством каналов, исходя из данного источника.

WritableRaster createCompatibleDestRaster​(Raster src)

Создаёт нулевой целевой растр с правильным размером и количеством каналов, исходя из данного источника.

BufferedImage filter​(BufferedImage src, BufferedImage dest)

Преобразует цвет исходного BufferedImage.

WritableRaster filter​(Raster src, WritableRaster dest)

Преобразует данные изображения в исходном растре.

Rectangle2D getBounds2D​(BufferedImage src)

Возвращает область рамки целевого изображения, исходя из данного источника.

Rectangle2D getBounds2D​(Raster src)

Возвращает область рамки целевого изображения, исходя из данного источника.

ICC_Profile[] getICC_Profiles()

Возвращает массив ICC_Profiles, используемый для создания этого ColorConvertOp.

Point2D getPoint2D​(Point2D srcPt, Point2D dstPt)

Возвращает расположение целевой точки, исходя из точки в источнике.

RenderingHints getRenderingHints()

Возвращает используемые подсказки рендеринга для этого объекта.

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

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

Конструкторы

ColorConvertOp

public ColorConvertOp(RenderingHints hints)

Создаёт новый ColorConvertOp, который будет преобразовывать из цветового пространства источника в цветовое пространство назначения. Аргумент RenderingHints может быть null. Этот Op может быть использован только с BufferedImages и будет преобразовывать напрямую из цветового пространства исходного изображения в цветовое пространство назначения. Аргумент destination метода filter не может быть null.

Параметры:
hints - объект RenderingHints, используемый для управления преобразованием цвета, или null

ColorConvertOp

public ColorConvertOp(ColorSpace cspace,
                      RenderingHints hints)

Создаёт новый ColorConvertOp из объекта ColorSpace. Аргумент RenderingHints может быть null. Этот Op может быть использован только с BufferedImages и в первую очередь полезен, когда метод filter вызывается с аргументом destination, равным null. В этом случае ColorSpace определяет цветовое пространство назначения для изображения назначения, созданного методом filter. В противном случае ColorSpace определяет промежуточное пространство, в которое преобразуется источник перед преобразованием в пространство назначения.

Параметры:
cspace - определяет целевое ColorSpace или промежуточное ColorSpace
hints - объект RenderingHints, используемый для управления преобразованием цвета, или null
Исключения:
NullPointerException - если cspace равно null

ColorConvertOp

public ColorConvertOp(ColorSpace srcCspace,
                      ColorSpace dstCspace,
                      RenderingHints hints)

Создаёт новый ColorConvertOp из двух объектов ColorSpace. Аргумент RenderingHints может быть null. Этот Op в первую очередь полезен для вызова метода filter для Rasters, в этом случае два ColorSpaces определяют операцию, которая должна быть выполнена над Rasters. В этом случае число каналов в исходном Raster должно соответствовать числу компонентов в srcCspace, а число каналов в целевом Raster должно соответствовать числу компонентов в dstCspace. Для BufferedImages два ColorSpaces определяют промежуточные пространства, через которые преобразуется источник перед преобразованием в целевое пространство.

Параметры:
srcCspace - источник ColorSpace
dstCspace - целевое ColorSpace
hints - объект RenderingHints, используемый для управления преобразованием цвета, или null
Исключения:
NullPointerException - если либо srcCspace, либо dstCspace равно null

ColorConvertOp

public ColorConvertOp(ICC_Profile[] profiles,
                      RenderingHints hints)

Создаёт новый ColorConvertOp из массива ICC_Profiles. Аргумент RenderingHints может быть null. Последовательность профилей может включать профили, представляющие цветовые пространства, профили, представляющие эффекты и т. д. Если вся последовательность не представляет собой чётко определённое преобразование цвета, генерируется исключение.

Для BufferedImages, если цветовое пространство исходного BufferedImage не соответствует требованиям первого профиля в массиве, первое преобразование выполняется в соответствующее цветовое пространство. Если требования последнего профиля в массиве не соответствуют цветовому пространству целевого BufferedImage, последнее преобразование выполняется в цветовое пространство назначения.

Для Rasters число каналов в исходном Raster должно соответствовать требованиям первого профиля в массиве, а число каналов в целевом Raster должно соответствовать требованиям последнего профиля в массиве. Массив должен содержать по крайней мере два элемента, иначе вызов метода filter для Rasters вызовет исключение IllegalArgumentException.

Параметры:
profiles - массив объектов ICC_Profile
hints - объект RenderingHints, используемый для управления преобразованием цвета, или null
Исключения:
IllegalArgumentException - когда последовательность профилей не определяет чётко определённое преобразование цвета
NullPointerException - если profiles равно null

Методы

getICC_Profiles

public final ICC_Profile[] getICC_Profiles()

Возвращает массив ICC_Profiles, используемых для создания этого ColorConvertOp. Возвращает null, если ColorConvertOp не был создан из такого массива.

Возвращает:
массив объектов ICC_Profile этого ColorConvertOp, или null если этот ColorConvertOp не был создан с массивом объектов ICC_Profile.

filter

public final BufferedImage filter(BufferedImage src,
                                  BufferedImage dest)

Преобразует цвет исходного BufferedImage. Если изображение назначения равно null, будет создано BufferedImage с соответствующей ColorModel.

Определено в:
filter в интерфейсе BufferedImageOp
Параметры:
src - исходное BufferedImage для преобразования
dest - целевое BufferedImage, или null
Возвращает:
dest цвет, преобразованный из src или новое, преобразованное BufferedImage если dest равно null
Исключения:
IllegalArgumentException - если dest равно null и этот op был создан с помощью конструктора, принимающего только аргумент RenderingHints, так как операция не определена.

filter

public final WritableRaster filter(Raster src,
                                   WritableRaster dest)

Преобразует данные изображения в исходном Raster. Если целевой Raster равен null, будет создан новый Raster. Число каналов в исходном и целевом Rasters должно соответствовать вышеуказанным требованиям. Конструктор, используемый для создания этого ColorConvertOp, должен предоставить достаточно информации для определения цветовых пространств как источника, так и назначения. Смотрите выше. В противном случае генерируется исключение.

Определено в:
filter в интерфейсе RasterOp
Параметры:
src - исходный Raster для преобразования
dest - целевой WritableRaster, или null
Возвращает:
dest цвет, преобразованный из src или новый, преобразованный WritableRaster если dest равно null
Исключения:
IllegalArgumentException - если количество каналов источника или назначения неверно, цветовые пространства источника или назначения не определены или этот op был создан с одним из конструкторов, который применяется только к операциям с BufferedImages.

getBounds2D

public final Rectangle2D getBounds2D(BufferedImage src)

Возвращает область ограничивающей рамки назначения, учитывая этот источник. Обратите внимание, что она будет такой же, как и область ограничивающей рамки источника.

Определено в:
getBounds2D в интерфейсе BufferedImageOp
Параметры:
src - исходное BufferedImage
Возвращает:
объект Rectangle2D, являющийся областью ограничивающей рамки назначения, учитывая указанный src

getBounds2D

public final Rectangle2D getBounds2D(Raster src)

Возвращает область ограничивающей рамки назначения, учитывая этот источник. Обратите внимание, что она будет такой же, как и область ограничивающей рамки источника.

Определено в:
getBounds2D в интерфейсе RasterOp
Параметры:
src - исходный Raster
Возвращает:
объект Rectangle2D, являющийся областью ограничивающей рамки назначения, учитывая указанный src

createCompatibleDestImage

public BufferedImage createCompatibleDestImage(BufferedImage src,
                                               ColorModel destCM)

Создаёт целевое изображение с нулевыми значениями, имеющее правильный размер и число каналов, учитывая этот источник.

Определено в:
createCompatibleDestImage в интерфейсе BufferedImageOp
Параметры:
src - Исходное изображение для операции фильтрации.
destCM - ColorModel назначения. Если null, будет использоваться соответствующий ColorModel.
Возвращает:
объект BufferedImage с правильным размером и количеством каналов из указанного src.
Исключения:
IllegalArgumentException - если destCM равно null и этот ColorConvertOp был создан без определения ICC_Profile или ColorSpace для назначения

createCompatibleDestRaster

public WritableRaster createCompatibleDestRaster(Raster src)

Создаёт целевой Raster с нулевыми значениями, имеющий правильный размер и число каналов, учитывая этот источник.

Определено в:
createCompatibleDestRaster в интерфейсе RasterOp
Параметры:
src - указанный Raster
Возвращает:
объект WritableRaster с правильным размером и количеством каналов из указанного src
Исключения:
IllegalArgumentException - если этот ColorConvertOp был создан без достаточной информации для определения цветовых пространств dst и src

getPoint2D

public final Point2D getPoint2D(Point2D srcPt,
                                Point2D dstPt)

Возвращает расположение точки назначения, учитывая точку в источнике. Если dstPt не равно null, оно будет использоваться для хранения возвращаемого значения. Обратите внимание, что для этого класса точка назначения будет такой же, как и точка источника.

Определено в:
getPoint2D в интерфейсе BufferedImageOp
Определено в:
getPoint2D в интерфейсе RasterOp
Параметры:
srcPt - указанная исходная Point2D
dstPt - целевая Point2D
Возвращает:
dstPt после установки его расположения, совпадающего с расположением srcPt

getRenderingHints

public final RenderingHints getRenderingHints()

Возвращает используемые этим op настройки рендеринга.

Определено в:
getRenderingHints в интерфейсе BufferedImageOp
Определено в:
getRenderingHints в интерфейсе RasterOp
Возвращает:
объект RenderingHints этого ColorConvertOp

© 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/ColorConvertOp.html

Spec-Zone .ru
спецификации, руководства, описания, API