Spec-Zone.ru › OpenJDK 27

Класс 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, который подобен визуальному типу TrueColor в X11.

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

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

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

pixel_bits, transferType
Модификатор и тип Поле Описание
protected int pixel_bits
Общее число битов в пикселе.
protected int transferType
Тип данных массива, используемого для представления значений пикселей.

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

BITMASK, OPAQUE, TRANSLUCENT
Модификатор и тип Поле Описание
static final int BITMASK
Представляет данные изображения, для которых гарантируется, что они либо полностью непрозрачны, со значением альфа-канала 1.0, либо полностью прозрачны, со значением альфа-канала 0.0.
static final int OPAQUE
Представляет данные изображения, для которых гарантируется полная непрозрачность, то есть все пиксели имеют значение альфа-канала 1.0.
static final int TRANSLUCENT
Представляет данные изображения, содержащие или потенциально содержащие произвольные значения альфа-канала от 0.0 до 1.0 включительно.

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

Конструктор Описание
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
Модификатор и тип Метод Описание
ColorModel coerceData(WritableRaster raster, boolean isAlphaPremultiplied)
Приводит данные растра в соответствие с состоянием, заданным переменной isAlphaPremultiplied, предполагая, что данные в данный момент корректно описываются этим ColorModel.
WritableRaster createCompatibleWritableRaster(int w, int h)
Создаёт WritableRaster с указанными шириной и высотой и совместимым с этим ColorModel расположением данных (SampleModel).
abstract int getAlpha(int pixel)
Возвращает компонент альфа-канала указанного пикселя, масштабированный от 0 до 255.
int getAlpha(Object inData)
Возвращает компонент альфа-канала указанного пикселя, масштабированный от 0 до 255.
abstract int getBlue(int pixel)
Возвращает компонент синего цвета указанного пикселя, масштабированный от 0 до 255 в цветовом пространстве RGB по умолчанию, sRGB.
int getBlue(Object inData)
Возвращает компонент синего цвета указанного пикселя, масштабированный от 0 до 255 в ColorSpace RGB по умолчанию, sRGB.
final ColorSpace getColorSpace()
Возвращает ColorSpace, связанный с этим ColorModel.
int[] getComponents(int pixel, int[] components, int offset)
Возвращает массив ненормализованных цветовых/альфа-компонентов для пикселя в этом ColorModel.
int[] getComponents(Object pixel, int[] components, int offset)
Возвращает массив ненормализованных цветовых/альфа-компонентов для пикселя в этом ColorModel.
int[] getComponentSize()
Возвращает массив, содержащий число битов на каждый цветовой/альфа-компонент.
int getComponentSize(int componentIdx)
Возвращает число битов для указанного цветового/альфа-компонента.
int getDataElement(float[] normComponents, int normOffset)
Возвращает значение пикселя, представленное как int в этом ColorModel, по массиву нормализованных цветовых/альфа-компонентов.
int getDataElement(int[] components, int offset)
Возвращает значение пикселя, представленное как int в этом ColorModel, по массиву ненормализованных цветовых/альфа-компонентов.
Object getDataElements(float[] normComponents, int normOffset, Object obj)
Возвращает представление пикселя в виде массива элементов данных в этом ColorModel по массиву нормализованных цветовых/альфа-компонентов.
Object getDataElements(int[] components, int offset, Object obj)
Возвращает представление пикселя в виде массива элементов данных в этом ColorModel по массиву ненормализованных цветовых/альфа-компонентов.
Object getDataElements(int rgb, Object pixel)
Возвращает представление пикселя в виде массива элементов данных в этом ColorModel по целочисленному представлению пикселя в цветовой модели RGB по умолчанию.
abstract int getGreen(int pixel)
Возвращает компонент зелёного цвета указанного пикселя, масштабированный от 0 до 255 в цветовом пространстве RGB по умолчанию, sRGB.
int getGreen(Object inData)
Возвращает компонент зелёного цвета указанного пикселя, масштабированный от 0 до 255 в ColorSpace RGB по умолчанию, sRGB.
float[] getNormalizedComponents(int[] components, int offset, float[] normComponents, int normOffset)
Возвращает массив всех цветовых/альфа-компонентов в нормализованном виде по массиву ненормализованных компонентов.
float[] getNormalizedComponents(Object pixel, float[] normComponents, int normOffset)
Возвращает массив всех цветовых/альфа-компонентов в нормализованном виде для пикселя в этом ColorModel.
int getNumColorComponents()
Возвращает число цветовых компонентов в этом ColorModel.
int getNumComponents()
Возвращает число компонентов, включая альфа-канал, в этом ColorModel.
int getPixelSize()
Возвращает число битов на пиксель, описываемых этим ColorModel.
abstract int getRed(int pixel)
Возвращает компонент красного цвета указанного пикселя, масштабированный от 0 до 255 в цветовом пространстве RGB по умолчанию, sRGB.
int getRed(Object inData)
Возвращает компонент красного цвета указанного пикселя, масштабированный от 0 до 255 в ColorSpace RGB по умолчанию, sRGB.
int getRGB(int pixel)
Возвращает цветовые/альфа-компоненты пикселя в формате цветовой модели RGB по умолчанию.
int getRGB(Object inData)
Возвращает цветовые/альфа-компоненты указанного пикселя в формате цветовой модели RGB по умолчанию.
static ColorModel getRGBdefault()
Возвращает DirectColorModel, описывающий формат по умолчанию для целочисленных значений RGB, используемых во многих методах интерфейсов изображений AWT для удобства программиста.
final int getTransferType()
Возвращает тип передачи данных этого ColorModel.
int getTransparency()
Возвращает прозрачность.
int[] getUnnormalizedComponents(float[] normComponents, int normOffset, int[] components, int offset)
Возвращает массив всех цветовых/альфа-компонентов в ненормализованном виде по массиву нормализованных компонентов.
final boolean hasAlpha()
Возвращает информацию о том, поддерживается ли альфа-канал в этом ColorModel.
final boolean isAlphaPremultiplied()
Возвращает информацию о том, был ли альфа-канал предварительно умножен в значениях пикселей, преобразуемых этим ColorModel.
boolean isCompatibleRaster(Raster raster)
Возвращает true, если raster совместим с этим ColorModel, и false, если нет.
String toString()
Возвращает String-представление содержимого этого объекта ColorModel.

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

clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
protected void finalize()
Устарело, будет удалено: этот элемент API может быть удалён в будущей версии.
Финализация объявлена устаревшей и будет удалена в одном из следующих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Приостанавливает текущий поток до его пробуждения, обычно посредством уведомления или прерывания.
final void wait(long timeoutMillis)
Приостанавливает текущий поток до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения определённого промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Приостанавливает текущий поток до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения определённого промежутка реального времени.

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

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 больше числа компонентов минус 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
См. также:
  • 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, 2026, Oracle и/или ее дочерние компании, 500 Oracle Parkway, Redwood Shores, CA 94065, США.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

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