Класс ColorConvertOp
- java.lang.Object
-
- java.awt.image.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