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