Класс ColorConvertOp
- java.lang.Object
-
- java.awt.image.ColorConvertOp
- Все реализованные интерфейсы:
- BufferedImageOp, RasterOp
public class ColorConvertOp extends Object implements BufferedImageOp, RasterOp
Этот класс выполняет преобразование цвета по пикселям данных в исходном изображении. Результирующие значения цвета масштабируются до точности целевого изображения. Преобразование цвета может быть задано массивом объектов ColorSpace или массивом объектов ICC_Profile.
Если исходное изображение BufferedImage имеет предварительно умноженный альфа-канал, компоненты цвета делятся на альфа-компонент перед преобразованием цвета. Если целевое изображение BufferedImage имеет предварительно умноженный альфа-канал, компоненты цвета умножаются на альфа-компонент после преобразования. Растры рассматриваются как не имеющие альфа-канала, т.е. все каналы являются каналами цвета.
Если в конструкторе указан объект RenderingHints, то атрибут рендеринга цвета и атрибут дithering могут быть использованы для управления преобразованием цвета.
Обратите внимание, что источник и цель могут быть одним и тем же объектом.
- См. также:
-
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) Создаёт целевой Raster с нулевыми значениями и правильным размером и числом каналов, исходя из данного источника. |
BufferedImage |
filter(BufferedImage src,
BufferedImage dest) Преобразует цвет исходного BufferedImage. |
WritableRaster |
filter(Raster src,
WritableRaster dest) Преобразует данные изображения в исходном Raster. |
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 и будет преобразовывать напрямую из цветового пространства исходного изображения в цветовое пространство целевого. Целевой аргумент метода filter не может быть задан как null.
- Параметры:
-
hints- объектRenderingHints, используемый для управления преобразованием цвета, илиnull
ColorConvertOp
public ColorConvertOp(ColorSpace cspace,
RenderingHints hints) Создаёт новый ColorConvertOp из объекта ColorSpace. Аргумент RenderingHints может быть null. Этот Op может быть использован только с BufferedImages и в основном полезен, когда метод filter вызывается с целевым аргументом 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, в этом случае два ColorSpace определяют операцию, которая должна быть выполнена над Rasters. В этом случае количество каналов в исходном Raster должно соответствовать количеству компонентов в srcCspace, а количество каналов в целевом Raster должно соответствовать количеству компонентов в dstCspace. Для BufferedImages два ColorSpace определяют промежуточные пространства, через которые исходное изображение преобразуется перед преобразованием в целевое пространство.
- Параметры:
-
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. Количество каналов в исходном и целевом Raster должно соответствовать вышеуказанным требованиям. Конструктор, используемый для создания этого 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 - Возвращает:
- Raster с правильным размером и количеством каналов из указанного
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.