Класс PackedColorModel
- Все реализуемые интерфейсы:
Transparency
- Прямые известные подклассы:
DirectColorModel
public abstract class PackedColorModel extends ColorModel
PackedColorModel — это абстрактный класс ColorModel, который работает с пиксельными значениями, представляющими информацию о цвете и альфа-канале как отдельные образцы, упаковывая все образцы для одного пикселя в одно целое число, короткое целое или байт. Этот класс может быть использован с произвольным ColorSpace. Количество образцов цвета в пиксельных значениях должно быть таким же, как количество цветовых компонентов в ColorSpace. Может быть один образец альфа-канала. Длина массива всегда равна 1 для тех методов, которые используют примитивный массив пикселей типа transferType. Поддерживаемые типы преобразования: DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT и DataBuffer.TYPE_INT. Цветовые и альфа-образцы хранятся в единственном элементе массива в битах, указанных масками. Каждая маска должна быть непрерывной, и маски не должны перекрываться. Те же маски применяются к единственному целочисленному представлению пикселя, используемому другими методами. Соответствие масок и цветовых/альфа-образцов таково: - Маски идентифицируются индексами, начиная с 0 до
getNumComponents- 1. - Первые
getNumColorComponentsиндексы относятся к образцам цвета. - Если присутствует образец альфа-канала, он соответствует последнему индексу.
- Порядок цветовых индексов задается
ColorSpace. Как правило, это отражает имя типа цветового пространства (например, TYPE_RGB), индекс 0 соответствует красному, индекс 1 — зеленому, а индекс 2 — синему.
Перевод пиксельных значений в цветовые/альфа-компоненты для отображения или обработки — это взаимно однозначное соответствие образцов компонентам. PackedColorModel обычно используется с данными изображения, которые используют маски для определения упакованных образцов. Например, PackedColorModel может использоваться совместно с SinglePixelPackedSampleModel для построения BufferedImage. Обычно маски, используемые SampleModel и ColorModel будут одинаковыми. Однако, если они отличаются, интерпретация цвета данных пикселей производится в соответствии с масками ColorModel.
Одно целое число для представления пикселя int является допустимым для всех объектов этого класса, так как всегда возможно представить пиксельные значения, используемые с этим классом, в виде одного int. Поэтому методы, использующие это представление, не генерируют IllegalArgumentException из-за недопустимого пиксельного значения.
Подклассом PackedColorModel является DirectColorModel, который аналогичен визуальному элементу X11 TrueColor.
Краткое описание полей
Поля, объявленные в классе java.awt.image.ColorModel
pixel_bits, transferType
Поля, объявленные в интерфейсе java.awt.Transparency
BITMASK, OPAQUE, TRANSLUCENT
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
PackedColorModel |
Создает PackedColorModel из массива цветовых масок, который определяет, какие биты в int пиксельном представлении содержат каждый из цветовых образцов, и маску альфа-канала. |
PackedColorModel |
Создает PackedColorModel из указанных масок, которые указывают, какие биты в int пиксельном представлении содержат образцы альфа-канала, красного, зеленого и синего цветов. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
SampleModel |
createCompatibleSampleModel |
Создает SampleModel заданной ширины и высоты, имеющей структуру данных, совместимую с этим ColorModel. |
boolean |
equals |
Проверяет, является ли указанный Object экземпляром PackedColorModel и равен ли этому PackedColorModel. |
WritableRaster |
getAlphaRaster |
Возвращает WritableRaster, представляющий альфа-канал изображения, извлеченный из входного WritableRaster. |
final int |
getMask |
Возвращает маску, указывающую, какие биты в пикселе содержат указанный образец цвета/альфа-канала. |
final int[] |
getMasks() |
Возвращает массив масок, указывающий, какие биты в пикселе содержат цветовые и альфа-образцы. |
int |
hashCode() |
Возвращает хэш-код для этого PackedColorModel. |
boolean |
isCompatibleSampleModel |
Проверяет, совместим ли указанный SampleModel с этим ColorModel. |
Методы, объявленные в классе java.awt.image.ColorModel
coerceData, createCompatibleWritableRaster, finalize, getAlpha, getAlpha, getBlue, getBlue, getColorSpace, getComponents, getComponents, getComponentSize, getComponentSize, getDataElement, getDataElement, getDataElements, getDataElements, getDataElements, getGreen, getGreen, getNormalizedComponents, getNormalizedComponents, getNumColorComponents, getNumComponents, getPixelSize, getRed, getRed, getRGB, getRGB, getRGBdefault, getTransferType, getTransparency, getUnnormalizedComponents, hasAlpha, isAlphaPremultiplied, isCompatibleRaster, toString
Подробное описание конструкторов
PackedColorModel
public PackedColorModel(ColorSpace space, int bits, int[] colorMaskArray, int alphaMask, boolean isAlphaPremultiplied, int trans, int transferType)
PackedColorModel по массиву масок цвета, который определяет, какие биты в представлении пикселя содержат каждый из образцов цвета, и маску альфа-канала. Компоненты цвета находятся в указанном ColorSpace. Длина colorMaskArray должна быть равна количеству компонентов в ColorSpace. Все биты в каждой маске должны быть смежными и поместиться в указанном количестве младших битов представления пикселя int. Если alphaMask равно 0, альфа-канал отсутствует. Если альфа-канал присутствует, то boolean isAlphaPremultiplied определяет, как интерпретировать образцы цвета и альфа-канала в значениях пикселей. Если boolean равно true, образцы цвета предполагаются умноженными на образец альфа-канала. Прозрачность, trans, определяет, какие значения альфа-канала могут быть представлены этой моделью цвета. Тип преобразования — тип примитивного массива, используемого для представления значений пикселей.- Параметры:
-
space- указанныйColorSpace -
bits- количество битов в значениях пикселей -
colorMaskArray- массив, который определяет маски, представляющие биты значений пикселей, которые представляют компоненты цвета -
alphaMask- задаёт маску, представляющую биты значений пикселей, которые представляют компонент альфа-канала -
isAlphaPremultiplied-trueесли образцы цвета предварительно умножены на образец альфа-канала;falseв противном случае -
trans- задаёт значение альфа-канала, которое может быть представлено этой моделью цвета -
transferType- тип массива, используемого для представления значений пикселей - Исключения:
-
IllegalArgumentException- еслиbitsменьше 1 или больше 32
PackedColorModel
public PackedColorModel(ColorSpace space, int bits, int rmask, int gmask, int bmask, int amask, boolean isAlphaPremultiplied, int trans, int transferType)
PackedColorModel по указанным маскам, которые указывают, какие биты в представлении пикселя int содержат образцы цвета альфа, красного, зелёного и синего. Компоненты цвета находятся в указанном ColorSpace, который должен быть типа ColorSpace.TYPE_RGB. Все биты в каждой маске должны быть смежными и поместиться в указанном количестве младших битов представления пикселя int. Если amask равно 0, альфа-канал отсутствует. Если альфа-канал присутствует, то boolean isAlphaPremultiplied определяет, как интерпретировать образцы цвета и альфа-канала в значениях пикселей. Если boolean равно true, образцы цвета предполагаются умноженными на образец альфа-канала. Прозрачность, trans, определяет, какие значения альфа-канала могут быть представлены этой моделью цвета. Тип преобразования — тип примитивного массива, используемого для представления значений пикселей.- Параметры:
-
space- указанныйColorSpace -
bits- количество битов в значениях пикселей -
rmask- задаёт маску, представляющую биты значений пикселей, которые представляют компонент красного цвета -
gmask- задаёт маску, представляющую биты значений пикселей, которые представляют компонент зелёного цвета -
bmask- задаёт маску, представляющую биты значений пикселей, которые представляют компонент синего цвета -
amask- задаёт маску, представляющую биты значений пикселей, которые представляют компонент альфа-канала -
isAlphaPremultiplied-trueесли образцы цвета предварительно умножены на образец альфа-канала;falseв противном случае -
trans- задаёт значение альфа-канала, которое может быть представлено этой моделью цвета -
transferType- тип массива, используемого для представления значений пикселей - Исключения:
-
IllegalArgumentException- еслиspaceне является пространством TYPE_RGB - См. также:
Подробное описание методов
getMask
public final int getMask(int index)
index соответствует расположению имён образцов цвета в цветовом пространстве. Таким образом, index, равное 0 для цветового пространства CMYK, соответствовало бы Циан, а index , равное 1, соответствовало бы Магента. Если альфа-канал существует, альфа-маска index будет:
alphaIndex = numComponents() - 1;
- Параметры:
-
index- указанный образец цвета или альфа-канала - Возвращает:
- маску, которая указывает, какие биты в представлении
intпикселя содержат образец цвета или альфа-канала, указанный вindex. - Исключения:
-
ArrayIndexOutOfBoundsException- еслиindexбольше, чем количество компонентов минус 1 в этомPackedColorModelили еслиindexменьше нуля
getMasks
public final int[] getMasks()
- Возвращает:
- массив масок, который указывает, какие биты в представлении
intпикселя содержат образцы цвета или альфа-канала.
createCompatibleSampleModel
public SampleModel createCompatibleSampleModel(int w, int h)
SampleModel с указанной шириной и высотой, имеющей структуру данных, совместимую с этим ColorModel.- Переопределяет:
-
createCompatibleSampleModelв классеColorModel - Параметры:
-
w- ширина (в пикселях) области данных изображения, описываемой -
h- высота (в пикселях) области данных изображения, описываемой - Возвращает:
- новое
SampleModel. - Исключения:
-
IllegalArgumentException- еслиwилиhне больше 0 - См. также:
isCompatibleSampleModel
public boolean isCompatibleSampleModel(SampleModel sm)
SampleModel совместимым с этой ColorModel. Если sm равно null, этот метод возвращает false.- Переопределяет:
-
isCompatibleSampleModelв классеColorModel - Параметры:
-
sm- указанноеSampleModel, илиnull - Возвращает:
-
trueесли указанноеSampleModelсовместимо с этимColorModel;falseв противном случае. - См. также:
getAlphaRaster
public WritableRaster getAlphaRaster(WritableRaster raster)
WritableRaster, представляющий альфа-канал изображения, извлечённый из входного WritableRaster. Этот метод предполагает, что объекты WritableRaster, связанные с этой моделью цвета, хранят полосу альфа-канала, если она присутствует, как последнюю полосу данных изображения. Возвращает null если нет отдельного пространственного канала альфа-канала, связанного с этим ColorModel . Этот метод создаёт новый WritableRaster, но разделяет массив данных.- Переопределяет:
-
getAlphaRasterв классеColorModel - Параметры:
-
raster-WritableRasterсодержащий изображение - Возвращает:
WritableRasterпредставляющий альфа-канал изображения, содержащегося вraster.
equals
public boolean equals(Object obj)
Object экземпляром PackedColorModel и равен ли этот PackedColorModel.- Переопределяет:
-
equalsв классеColorModel - Параметры:
-
obj-Objectдля проверки на равенство - Возвращает:
-
trueесли указанныйObjectявляется экземпляромPackedColorModelи равен этомуPackedColorModel;falseв противном случае. - См. также:
hashCode
public int hashCode()
- Переопределяет:
-
hashCodeв классеColorModel - Возвращает:
- хэш-код для этого PackedColorModel.
- См. также:
© 1993, 2021, 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/17/docs/api/java.desktop/java/awt/image/PackedColorModel.html