Spec-Zone.ru › OpenJDK 17

Класс PackedColorModel

java.lang.Object
java.awt.image.ColorModel
java.awt.image.PackedColorModel
Все реализуемые интерфейсы:
Transparency
Прямые известные подклассы:
DirectColorModel
public abstract class PackedColorModel extends ColorModel
Класс PackedColorModel — это абстрактный класс ColorModel, который работает с пиксельными значениями, представляющими информацию о цвете и альфа-канале как отдельные образцы, упаковывая все образцы для одного пикселя в одно целое число, короткое целое или байт. Этот класс может быть использован с произвольным 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, finalize, 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, 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, связанные с этой моделью цвета, хранят полосу альфа-канала, если она присутствует, как последнюю полосу данных изображения. Возвращает 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(java.lang.Object)

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

Spec-Zone.ru

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