Spec-Zone.ru › OpenJDK 25

Класс PackedColorModel

java.lang.Object
java.awt.image.ColorModel
java.awt.image.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.

См. также:
  • DirectColorModel
  • SinglePixelPackedSampleModel
  • BufferedImage

Краткое описание полей

Поля, объявленные в классе ColorModel

pixel_bits, transferType

Поля, объявленные в интерфейсе Transparency

BITMASK, OPAQUE, TRANSLUCENT

Краткое описание конструкторов

Конструктор Описание
PackedColorModel(ColorSpace space, int bits, int[] colorMaskArray, int alphaMask, boolean isAlphaPremultiplied, int trans, int transferType)
Создает PackedColorModel на основе массива цветовых масок, указывающего, какие биты в представлении пикселя int содержат каждую из цветовых выборок, и маски альфа-канала.
PackedColorModel(ColorSpace space, int bits, int rmask, int gmask, int bmask, int amask, boolean isAlphaPremultiplied, int trans, int transferType)
Создает PackedColorModel на основе указанных масок, определяющих, какие биты в представлении пикселя int содержат выборки альфа-канала, красного, зеленого и синего цветов.

Краткое описание методов

Модификатор и тип Метод Описание
SampleModel createCompatibleSampleModel(int w, int h)
Создает SampleModel с указанными шириной и высотой и структурой данных, совместимой с этой ColorModel.
boolean equals(Object obj)
Проверяет, является ли указанный Object экземпляром PackedColorModel и равен ли он этой PackedColorModel.
WritableRaster getAlphaRaster(WritableRaster raster)
Возвращает WritableRaster, представляющий альфа-канал изображения, извлеченный из входного WritableRaster.
final int getMask(int index)
Возвращает маску, указывающую, какие биты пикселя содержат указанную цветовую выборку или выборку альфа-канала.
final int[] getMasks()
Возвращает массив масок, указывающих, какие биты пикселя содержат цветовые выборки и выборку альфа-канала.
int hashCode()
Возвращает хеш-код этого PackedColorModel.
boolean isCompatibleSampleModel(SampleModel sm)
Проверяет, совместим ли указанный 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

Методы, объявленные в классе Object

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

Подробное описание конструкторов

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
См. также:
  • ColorSpace

Подробное описание методов

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
См. также:
  • SampleModel

isCompatibleSampleModel

public boolean isCompatibleSampleModel(SampleModel sm)
Проверяет, совместим ли указанный SampleModel с этой ColorModel. Если sm равно null, этот метод возвращает false.
Переопределяет:
isCompatibleSampleModel в классе ColorModel
Параметры:
sm — указанный SampleModel или null
Возвращает:
true, если указанный SampleModel совместим с этой ColorModel; в противном случае — false.
См. также:
  • SampleModel

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.
См. также:
  • Object.hashCode()
  • HashMap

hashCode

public int hashCode()
Возвращает хеш-код этого PackedColorModel.
Переопределяет:
hashCode в классе ColorModel
Возвращает:
хеш-код этого PackedColorModel.
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(Object)

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, включая обзоры концепций, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API