Класс 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(ColorSpace space,
int bits,
int rmask,
int gmask,
int bmask,
int amask,
boolean isAlphaPremultiplied,
int trans,
int transferType) Создаёт |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
SampleModel |
createCompatibleSampleModel(int w,
int h) Создаёт |
boolean |
equals(Object obj) Проверяет, является ли указанный |
WritableRaster |
getAlphaRaster(WritableRaster raster) Возвращает |
int |
getMask(int index) Возвращает маску, указывающую, какие биты в пикселе содержат указанный цветовой/альфа-образец. |
int[] |
getMasks() Возвращает массив масок, указывающий, какие биты в пикселе содержат цветовые и альфа-образцы. |
boolean |
isCompatibleSampleModel(SampleModel sm) Проверяет, совместим ли указанный |
Методы, унаследованные от класса 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, hashCode, 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 ColorSpace соответствует Цвета и 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-WritableRasterсодержащий изображение - Возвращает:
WritableRasterпредставляющий альфа-канал изображения, содержащегося вraster.
equals
public boolean equals(Object obj)
Проверяет, является ли указанный Object экземпляром PackedColorModel и равен ли этому PackedColorModel.
- Переопределяет:
-
equalsв классеColorModel - Параметры:
-
obj-Objectдля проверки на равенство - Возвращает:
-
trueесли указанныйObjectявляется экземпляромPackedColorModelи равен этомуPackedColorModel;falseв противном случае. - См. также:
-
Object.hashCode(),HashMap
© 1993, 2020, 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.