Spec-Zone.ru › OpenJDK 21

Класс 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. Цветовые и альфа-образцы хранятся в единственном элементе массива в битах, указанных масками. Каждая маска должна быть непрерывной, и маски не должны перекрываться. Те же маски применяются к единственному целочисленному пиксельному представлению, используемому другими методами. Соответствие масок и цветовых/альфа-образцов таково:
  • Маски идентифицируются индексами, которые идут от 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

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

Поля, объявленные в классе java.awt.image.ColorModel

pixel_bits, transferType

Поля, объявленные в интерфейсе java.awt.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.

Методы, объявленные в классе 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

Методы, объявленные в классе java.lang.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 по массиву масок цвета, который определяет, какие биты в представлении пикселя содержат каждый из цветовых образцов, и маску альфа-канала. Цветовые компоненты находятся в указанном 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, будет соответствовать голубому цвету, а 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
См. также:
  • 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 - a 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(java.lang.Object)

© 1993, 2023, 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/21/docs/api/java.desktop/java/awt/image/PackedColorModel.html

Spec-Zone.ru

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