Класс PackedColorModel
- Все реализованные интерфейсы:
Transparency
- Прямые известные подклассы:
DirectColorModel
public abstract class PackedColorModel extends ColorModel
PackedColorModel — это абстрактный класс ColorModel, который работает с пиксельными значениями, представляющими информацию о цвете и альфа-канале как отдельные образцы, упаковывая все образцы для одного пикселя в одно целое число (int), короткое целое число (short) или байт. Этот класс может использоваться с произвольной 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.
- См. также:
Краткое описание полей
Поля, объявленные в классе 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, 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, будет соответствовать голубому цвету, а 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, связанные с этим 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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/java/awt/image/PackedColorModel.html