Класс PackedColorModel
- Все реализуемые интерфейсы:
Transparency
- Прямые подклассы:
DirectColorModel
public abstract class PackedColorModel extends ColorModel
PackedColorModel является абстрактным классом ColorModel, который работает со значениями пикселей, представляющими информацию о цвете и альфа-канале в виде отдельных выборок, упаковывая все выборки одного пикселя в одно значение типа int, short или byte. Этот класс можно использовать с произвольным ColorSpace. Число цветовых выборок в значениях пикселей должно совпадать с числом цветовых компонентов в ColorSpace. Допускается одна выборка альфа-канала. Длина массива всегда равна 1 для методов, использующих представление пикселя в примитивном массиве типа transferType. Поддерживаются типы передачи данных DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT и DataBuffer.TYPE_INT. Цветовые выборки и выборки альфа-канала хранятся в единственном элементе массива в битах, указанных битовыми масками. Каждая битовая маска должна быть непрерывной, а маски не должны перекрываться. Те же маски используются для представления пикселя в виде одного значения 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.
- См. также:
Краткое описание полей
Поля, объявленные в классе ColorModel
pixel_bits, transferType
Поля, объявленные в интерфейсе 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. |
Методы, объявленные в классе ColorModel
coerceData, createCompatibleWritableRaster, 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 на основе массива цветовых масок, указывающего, какие биты в представлении пикселя int содержат каждую из цветовых выборок, и маски альфа-канала. Цветовые компоненты относятся к указанному 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 соответствует Cyan, а index, равный 1, — Magenta. Если присутствует альфа-канал, его index будет равен:
alphaIndex = numComponents() - 1;
- Параметры:
-
index— указанная цветовая выборка или выборка альфа-канала - Возвращает:
- маску, указывающую, какие биты представления пикселя
intсодержат цветовую выборку или выборку альфа-канала, указанную параметромindex. - Исключения:
-
ArrayIndexOutOfBoundsException— еслиindexбольше числа компонентов этойPackedColorModelминус 1 или если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, связанные с этой ColorModel, хранят полосу альфа-канала, если она имеется, в качестве последней полосы данных изображения. Возвращает 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, 2025, 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/25/docs/api/java.desktop/java/awt/image/PackedColorModel.html