Spec-Zone.ru › OpenJDK 8

Класс IndexColorModel

  • java.lang.Object
    • java.awt.image.ColorModel
      • java.awt.image.IndexColorModel
Все реализованные интерфейсы:
Transparency

public class IndexColorModel
extends ColorModel

Класс IndexColorModel — это класс, работающий с пиксельными значениями, состоящими из одного образца, являющегося индексом в фиксированной цветовой палитре в пространстве цветов по умолчанию sRGB. Цветовая палитра определяет красный, зелёный, синий и необязательные альфа-компоненты, соответствующие каждому индексу. Все компоненты представлены в цветовой палитре как 8-битные беззнаковые целые значения. Некоторые конструкторы позволяют вызывающему коду задавать «дыры» в цветовой палитре, указывая, какие записи цветовой палитры допустимы, а какие представляют недоступные цвета с помощью бит, установленных в объекте BigInteger. Эта модель цвета похожа на визуальный элемент X11 PseudoColor.

Некоторые конструкторы предоставляют способ указать альфа-компонент для каждого пикселя в цветовой палитре, в то время как другие либо не предоставляют такого способа, либо в некоторых случаях — флаг, указывающий, содержит ли цветовая палитра значения альфа. Если альфа не предоставлена в конструкторе, предполагается непрозрачный альфа-компонент (альфа = 1,0) для каждой записи. Можно указать необязательное значение прозрачного пикселя, которое указывает пиксель, который должен быть полностью прозрачным независимо от любого альфа-компонента, предоставленного или предполагаемого для этого значения пикселя. Обратите внимание, что цветовые компоненты в цветовой палитре объектов IndexColorModel никогда не умножаются предварительно на альфа-компоненты.

Прозрачность объекта IndexColorModel определяется путём проверки альфа-компонентов цветов в цветовой палитре и выбора наиболее специфичного значения после рассмотрения необязательных значений альфа и указанного прозрачного индекса. Значение прозрачности равно Transparency.OPAQUE только если все допустимые цвета в цветовой палитре непрозрачны и нет допустимого прозрачного пикселя. Если все допустимые цвета в цветовой палитре либо полностью непрозрачны (альфа = 1,0), либо полностью прозрачны (альфа = 0,0), что обычно происходит при указании допустимого прозрачного пикселя, значение равно Transparency.BITMASK. В противном случае значение равно Transparency.TRANSLUCENT, что указывает на то, что некоторые допустимые цвета имеют альфа-компонент, который не является ни полностью прозрачным, ни полностью непрозрачным (0,0 < альфа < 1,0).

Если объект IndexColorModel имеет значение прозрачности Transparency.OPAQUE, то методы hasAlpha и getNumComponents (оба унаследованы от ColorModel) возвращают false и 3 соответственно. Для любого другого значения прозрачности hasAlpha возвращает true, а getNumComponents возвращает 4.

Значения, используемые для индексирования в цветовой палитре, берутся из наименее значащих n бит представлений пикселей, где n основано на размере пикселя, указанном в конструкторе. Для размеров пикселей меньше 8 бит, n округляется до степени двойки (3 становится 4, а 5, 6, 7 становятся 8). Для размеров пикселей от 8 до 16 бит n равно размеру пикселя. Размеры пикселей больше 16 бит не поддерживаются этим классом. Старшие биты за пределами n игнорируются в представлениях пикселей. Значения индексов, большие или равные размеру палитры, но меньшие 2n, не определены и возвращают 0 для всех цветовых и альфа-компонентов.

Для тех методов, которые используют примитивный массив пикселей типа transferType, длина массива всегда равна одному. Поддерживаемые типы преобразования — DataBuffer.TYPE_BYTE и DataBuffer.TYPE_USHORT. Представление одного целого числа (int) пикселя является допустимым для всех объектов этого класса, так как всегда возможно представить значения пикселей, используемые с этим классом, в единственном целом числе (int). Поэтому методы, использующие это представление, не генерируют исключение IllegalArgumentException из-за недопустимого значения пикселя.

Многие методы в этом классе являются final. Причина в том, что базовый код графического интерфейса делает предположения о структуре и работе этого класса, и эти предположения отражаются в реализациях методов, помеченных здесь как final. Вы можете наследовать от этого класса по другим причинам, но вы не можете переопределять или изменять поведение этих методов.

См. также:
ColorModel, ColorSpace, DataBuffer

Поля

Поля, унаследованные от класса java.awt.image.ColorModel

pixel_bits, transferType

Поля, унаследованные от интерфейса java.awt.Transparency

BITMASK, OPAQUE, TRANSLUCENT

Конструкторы

Конструктор и описание
IndexColorModel(int bits, int size, byte[] r, byte[] g, byte[] b)

Создаёт IndexColorModel из указанных массивов красного, зелёного и синего компонентов.

IndexColorModel(int bits, int size, byte[] r, byte[] g, byte[] b, byte[] a)

Создаёт IndexColorModel из заданных массивов красного, зелёного, синего и альфа-компонентов.

IndexColorModel(int bits, int size, byte[] r, byte[] g, byte[] b, int trans)

Создаёт IndexColorModel из заданных массивов красного, зелёного и синего компонентов.

IndexColorModel(int bits, int size, byte[] cmap, int start, boolean hasalpha)

Создаёт IndexColorModel из одного массива перекрытых красного, зелёного, синего и необязательных альфа-компонентов.

IndexColorModel(int bits, int size, byte[] cmap, int start, boolean hasalpha, int trans)

Создаёт IndexColorModel из одного массива перекрытых красного, зелёного, синего и необязательных альфа-компонентов.

IndexColorModel(int bits, int size, int[] cmap, int start, boolean hasalpha, int trans, int transferType)

Создаёт IndexColorModel из массива целых чисел (int), где каждое целое число состоит из красного, зелёного, синего и необязательных альфа-компонентов в формате модели цвета по умолчанию RGB.

IndexColorModel(int bits, int size, int[] cmap, int start, int transferType, BigInteger validBits)

Создаёт IndexColorModel из массива int, где каждый int состоит из красного, зелёного, синего и альфа-компонентов в формате модели цвета по умолчанию RGB.

Методы

Модификатор и тип Метод и описание
BufferedImage convertToIntDiscrete(Raster raster, boolean forceARGB)

Возвращает новый BufferedImage типа TYPE_INT_ARGB или TYPE_INT_RGB, имеющий Raster с данными пикселей, вычисленными путём расширения индексов в исходном Raster с использованием массивов компонентов цвета/альфа этого ColorModel.

SampleModel createCompatibleSampleModel(int w, int h)

Создаёт SampleModel с заданной шириной и высотой, имеющий структуру данных, совместимую с этим ColorModel.

WritableRaster createCompatibleWritableRaster(int w, int h)

Создаёт WritableRaster с заданной шириной и высотой, имеющий структуру данных (SampleModel) совместимую с этим ColorModel.

void finalize()

Освобождает системные ресурсы, связанные с этим ColorModel после того, как на этот ColorModel больше нет ссылок.

int getAlpha(int pixel)

Возвращает компонент альфа для указанного пикселя, масштабированный от 0 до 255.

void getAlphas(byte[] a)

Копирует массив компонентов альфа-прозрачности в указанный массив.

int getBlue(int pixel)

Возвращает синий цветовой компонент для указанного пикселя, масштабированный от 0 до 255 в стандартном цветовом пространстве RGB, sRGB.

void getBlues(byte[] b)

Копирует массив синих цветовых компонентов в указанный массив.

int[] getComponents(int pixel, int[] components, int offset)

Возвращает массив ненормализованных цветовых/альфа-компонентов для указанного пикселя в этом ColorModel.

int[] getComponents(Object pixel, int[] components, int offset)

Возвращает массив ненормализованных цветовых/альфа-компонентов для указанного пикселя в этом ColorModel.

int[] getComponentSize()

Возвращает массив количества бит для каждого цветового/альфа-компонента.

int getDataElement(int[] components, int offset)

Возвращает значение пикселя, представленное целым числом в этом ColorModel, заданным массивом ненормализованных цветовых/альфа-компонентов.

Object getDataElements(int[] components, int offset, Object pixel)

Возвращает массив элементов данных представления пикселя в этом ColorModel, заданным массивом ненормализованных цветовых/альфа-компонентов.

Object getDataElements(int rgb, Object pixel)

Возвращает массив элементов данных представления пикселя в этом ColorModel, заданным целочисленным представлением пикселя в стандартной цветовой модели RGB.

int getGreen(int pixel)

Возвращает зелёный цветовой компонент для указанного пикселя, масштабированный от 0 до 255 в стандартном цветовом пространстве RGB, sRGB.

void getGreens(byte[] g)

Копирует массив зелёных цветовых компонентов в указанный массив.

int getMapSize()

Возвращает размер массивов цветовых/альфа-компонентов в этом IndexColorModel.

int getRed(int pixel)

Возвращает красный цветовой компонент для указанного пикселя, масштабированный от 0 до 255 в стандартном цветовом пространстве RGB, sRGB.

void getReds(byte[] r)

Копирует массив красных цветовых компонентов в указанный массив.

int getRGB(int pixel)

Возвращает цветовые/альфа-компоненты пикселя в формате стандартной цветовой модели RGB.

void getRGBs(int[] rgb)

Преобразует данные для каждого индекса из массивов цветовых и альфа-компонентов в целое число в формате стандартной цветовой модели RGB и копирует полученные 32-битные значения ARGB в указанный массив.

int getTransparency()

Возвращает прозрачность.

int getTransparentPixel()

Возвращает индекс прозрачного пикселя в этом IndexColorModel или -1, если нет пикселя с значением альфа 0.

BigInteger getValidPixels()

Возвращает BigInteger, указывающий на допустимые/недопустимые пиксели в палитре.

boolean isCompatibleRaster(Raster raster)

Возвращает true если raster совместим с этим ColorModel или false если он не совместим с этим ColorModel.

boolean isCompatibleSampleModel(SampleModel sm)

Проверяет, совместим ли указанный SampleModel с этим ColorModel.

boolean isValid()

Возвращает, являются ли все пиксели допустимыми.

boolean isValid(int pixel)

Возвращает, является ли пиксель допустимым.

String toString()

Возвращает строковое представление содержимого этого объекта ColorModel.

Методы, унаследованные от класса java.awt.image.ColorModel

coerceData, equals, getAlpha, getAlphaRaster, getBlue, getColorSpace, getComponentSize, getDataElement, getDataElements, getGreen, getNormalizedComponents, getNormalizedComponents, getNumColorComponents, getNumComponents, getPixelSize, getRed, getRGB, getRGBdefault, getTransferType, getUnnormalizedComponents, hasAlpha, hashCode, isAlphaPremultiplied

Методы, унаследованные от класса java.lang.Object

clone, getClass, notify, notifyAll, wait, wait, wait

Конструкторы

IndexColorModel

public IndexColorModel(int bits,
                       int size,
                       byte[] r,
                       byte[] g,
                       byte[] b)

Создаёт IndexColorModel из указанных массивов красных, зелёных и синих компонентов. Пиксели, описываемые этой цветовой моделью, имеют альфа-компоненты 255 (ненормированные) (1,0 нормированные), что означает, что они полностью непрозрачны. Все массивы, указывающие цветовые компоненты, должны иметь как минимум указанное количество записей. ColorSpace — это пространство по умолчанию sRGB. Поскольку в аргументах этого конструктора нет информации об альфа-канале, значение прозрачности всегда Transparency.OPAQUE. Тип передачи — наименьший из DataBuffer.TYPE_BYTE или DataBuffer.TYPE_USHORT, который может хранить один пиксель.

Параметры:
bits — количество бит, которые занимает каждый пиксель
size — размер массивов цветовых компонентов
r — массив красных цветовых компонентов
g — массив зелёных цветовых компонентов
b — массив синих цветовых компонентов
Исключения:
IllegalArgumentException — если bits меньше 1 или больше 16
IllegalArgumentException — если size меньше 1

IndexColorModel

public IndexColorModel(int bits,
                       int size,
                       byte[] r,
                       byte[] g,
                       byte[] b,
                       int trans)

Создаёт IndexColorModel из заданных массивов красных, зелёных и синих компонентов. Пиксели, описываемые этой цветовой моделью, имеют альфа-компоненты 255 (ненормированные) (1,0 нормированные), что означает, что они полностью непрозрачны, за исключением указанного пикселя, который будет сделан прозрачным. Все массивы, указывающие цветовые компоненты, должны иметь как минимум указанное количество записей. ColorSpace — это пространство по умолчанию sRGB. Значение прозрачности может быть Transparency.OPAQUE или Transparency.BITMASK в зависимости от аргументов, как указано в описании класса выше class description. Тип передачи — наименьший из DataBuffer.TYPE_BYTE или DataBuffer.TYPE_USHORT, который может хранить один пиксель.

Параметры:
bits — количество бит, которые занимает каждый пиксель
size — размер массивов цветовых компонентов
r — массив красных цветовых компонентов
g — массив зелёных цветовых компонентов
b — массив синих цветовых компонентов
trans — индекс прозрачного пикселя
Исключения:
IllegalArgumentException — если bits меньше 1 или больше 16
IllegalArgumentException — если size меньше 1

IndexColorModel

public IndexColorModel(int bits,
                       int size,
                       byte[] r,
                       byte[] g,
                       byte[] b,
                       byte[] a)

Создаёт IndexColorModel из заданных массивов красных, зелёных, синих и альфа-компонентов. Все массивы, указывающие компоненты, должны иметь как минимум указанное количество записей. ColorSpace — это пространство по умолчанию sRGB. Значение прозрачности может быть любым из Transparency.OPAQUE, Transparency.BITMASK или Transparency.TRANSLUCENT в зависимости от аргументов, как указано в описании класса выше class description. Тип передачи — наименьший из DataBuffer.TYPE_BYTE или DataBuffer.TYPE_USHORT, который может хранить один пиксель.

Параметры:
bits — количество бит, которые занимает каждый пиксель
size — размер массивов цветовых компонентов
r — массив красных цветовых компонентов
g — массив зелёных цветовых компонентов
b — массив синих цветовых компонентов
a — массив компонентов значений альфа
Исключения:
IllegalArgumentException — если bits меньше 1 или больше 16
IllegalArgumentException — если size меньше 1

IndexColorModel

public IndexColorModel(int bits,
                       int size,
                       byte[] cmap,
                       int start,
                       boolean hasalpha)

Создаёт IndexColorModel из одного массива переплетённых красных, зелёных, синих и необязательных альфа-компонентов. Массив должен содержать достаточно значений, чтобы заполнить все необходимые массивы компонентов указанного размера. ColorSpace — это пространство по умолчанию sRGB. Значение прозрачности может быть любым из Transparency.OPAQUE, Transparency.BITMASK или Transparency.TRANSLUCENT в зависимости от аргументов, как указано в описании класса выше class description. Тип передачи — наименьший из DataBuffer.TYPE_BYTE или DataBuffer.TYPE_USHORT, который может хранить один пиксель.

Параметры:
bits — количество бит, которые занимает каждый пиксель
size — размер массивов цветовых компонентов
cmap — массив цветовых компонентов
start — начальный смещение первого цветового компонента
hasalpha — указывает, содержатся ли значения альфа в массиве cmap
Исключения:
IllegalArgumentException — если bits меньше 1 или больше 16
IllegalArgumentException — если size меньше 1

IndexColorModel

public IndexColorModel(int bits,
                       int size,
                       byte[] cmap,
                       int start,
                       boolean hasalpha,
                       int trans)

Создаёт IndexColorModel из одного массива переплетённых красных, зелёных, синих и необязательных альфа-компонентов. Указанный прозрачный индекс представляет пиксель, который делается полностью прозрачным независимо от любого значения альфа, указанного для него. Массив должен содержать достаточно значений, чтобы заполнить все необходимые массивы компонентов указанного размера. ColorSpace — это пространство по умолчанию sRGB. Значение прозрачности может быть любым из Transparency.OPAQUE, Transparency.BITMASK или Transparency.TRANSLUCENT в зависимости от аргументов, как указано в описании класса выше class description. Тип передачи — наименьший из DataBuffer.TYPE_BYTE или DataBuffer.TYPE_USHORT, который может хранить один пиксель.

Параметры:
bits — количество бит, которые занимает каждый пиксель
size — размер массивов цветовых компонентов
cmap — массив цветовых компонентов
start — начальный смещение первого цветового компонента
hasalpha — указывает, содержатся ли значения альфа в массиве cmap
trans — индекс полностью прозрачного пикселя
Исключения:
IllegalArgumentException — если bits меньше 1 или больше 16
IllegalArgumentException — если size меньше 1

IndexColorModel

public IndexColorModel(int bits,
                       int size,
                       int[] cmap,
                       int start,
                       boolean hasalpha,
                       int trans,
                       int transferType)

Создаёт IndexColorModel из массива целых чисел, где каждое целое число состоит из красных, зелёных, синих и необязательных альфа-компонентов в формате цветовой модели RGB по умолчанию. Указанный прозрачный индекс представляет пиксель, который делается полностью прозрачным независимо от любого значения альфа, указанного для него. Массив должен содержать достаточно значений, чтобы заполнить все необходимые массивы компонентов указанного размера. ColorSpace — это пространство по умолчанию sRGB. Значение прозрачности может быть любым из Transparency.OPAQUE, Transparency.BITMASK или Transparency.TRANSLUCENT в зависимости от аргументов, как указано в описании класса выше class description.

Параметры:
bits — количество бит, которые занимает каждый пиксель
size — размер массивов цветовых компонентов
cmap — массив цветовых компонентов
start — начальный смещение первого цветового компонента
hasalpha — указывает, содержатся ли значения альфа в массиве cmap
trans — индекс полностью прозрачного пикселя
transferType — тип данных массива, используемого для представления значений пикселей. Тип данных должен быть либо DataBuffer.TYPE_BYTE, либо DataBuffer.TYPE_USHORT.
Исключения:
IllegalArgumentException — если bits меньше 1 или больше 16
IllegalArgumentException — если size меньше 1
IllegalArgumentException — если transferType не является одним из DataBuffer.TYPE_BYTE или DataBuffer.TYPE_USHORT

IndexColorModel

public IndexColorModel(int bits,
                       int size,
                       int[] cmap,
                       int start,
                       int transferType,
                       BigInteger validBits)

Создаёт IndexColorModel из массива int, где каждый int состоит из красных, зелёных, синих и альфа-компонентов в формате цветовой модели RGB по умолчанию. Массив должен содержать достаточно значений, чтобы заполнить все необходимые массивы компонентов указанного размера. ColorSpace — это пространство по умолчанию sRGB. Значение прозрачности может быть любым из Transparency.OPAQUE, Transparency.BITMASK или Transparency.TRANSLUCENT в зависимости от аргументов, как указано в описании класса выше class description. Тип передачи должен быть одним из DataBuffer.TYPE_BYTE DataBuffer.TYPE_USHORT. Объект BigInteger указывает допустимые/недопустимые пиксели в массиве cmap. Пиксель допустим, если значение BigInteger с этим индексом установлено, и недопустим, если бит BigInteger с этим индексом не установлен.

Параметры:
bits — количество бит, которые занимает каждый пиксель
size — размер массива цветовых компонентов
cmap — массив цветовых компонентов
start — начальный смещение первого цветового компонента
transferType — указанный тип данных
validBits — объект BigInteger. Если бит установлен в BigInteger, пиксель с этим индексом допустим. Если бит не установлен, пиксель с этим индексом считается недопустимым. Если null, все пиксели допустимы. Рассматриваются только биты от 0 до размера карты.
Исключения:
IllegalArgumentException — если bits меньше 1 или больше 16
IllegalArgumentException — если size меньше 1
IllegalArgumentException — если transferType не является одним из DataBuffer.TYPE_BYTE или DataBuffer.TYPE_USHORT
С версии:
1.3

Методы

getTransparency

public int getTransparency()

Возвращает прозрачность. Возвращает OPAQUE, BITMASK или TRANSLUCENT

Указано:
getTransparency в интерфейсе Transparency
Переопределяет:
getTransparency в классе ColorModel
Возвращает:
прозрачность этого IndexColorModel
См. также:
Transparency.OPAQUE, Transparency.BITMASK, Transparency.TRANSLUCENT

getComponentSize

public int[] getComponentSize()

Возвращает массив количества бит для каждого цветового/альфа-компонента. Массив содержит цветовые компоненты в порядке красный, зелёный, синий, а затем альфа-компонент, если он присутствует.

Переопределяет:
getComponentSize в классе ColorModel
Возвращает:
массив, содержащий количество бит каждого цветового и альфа-компонента этого IndexColorModel

getMapSize

public final int getMapSize()

Возвращает размер массивов цветовых/альфа-компонентов в этом IndexColorModel.

Возвращает:
размер массивов цветовых и альфа-компонентов.

getTransparentPixel

public final int getTransparentPixel()

Возвращает индекс прозрачного пикселя в этом IndexColorModel или -1, если нет пикселя с альфа-значением 0. Если прозрачный пиксель был явно задан в одном из конструкторов по его индексу, то этот индекс будет предпочтительным, в противном случае может быть возвращён индекс любого пикселя, который случайно полностью прозрачен.

Возвращает:
индекс прозрачного пикселя в этом объекте IndexColorModel, или -1, если такого пикселя нет

getReds

public final void getReds(byte[] r)

Копирует массив красных цветовых компонентов в указанный массив. Записываются только начальные элементы массива, как указано в getMapSize.

Параметры:
r - указанный массив, в который копируются элементы массива красных цветовых компонентов

getGreens

public final void getGreens(byte[] g)

Копирует массив зелёных цветовых компонентов в указанный массив. Записываются только начальные элементы массива, как указано в getMapSize.

Параметры:
g - указанный массив, в который копируются элементы массива зелёных цветовых компонентов

getBlues

public final void getBlues(byte[] b)

Копирует массив синих цветовых компонентов в указанный массив. Записываются только начальные элементы массива, как указано в getMapSize.

Параметры:
b - указанный массив, в который копируются элементы массива синих цветовых компонентов

getAlphas

public final void getAlphas(byte[] a)

Копирует массив альфа-компонентов прозрачности в указанный массив. Записываются только начальные элементы массива, как указано в getMapSize.

Параметры:
a - указанный массив, в который копируются элементы массива альфа-компонентов

getRGBs

public final void getRGBs(int[] rgb)

Преобразует данные для каждого индекса из массивов цветовых и альфа-компонентов в целое число в формате модели цвета RGB по умолчанию и копирует полученные 32-битные значения ARGB в указанный массив. Записываются только начальные элементы массива, как указано в getMapSize.

Параметры:
rgb - указанный массив, в который копируются преобразованные значения ARGB из этого массива цветовых и альфа-компонентов.

getRed

public final int getRed(int pixel)

Возвращает красный цветовой компонент для указанного пикселя, масштабированный от 0 до 255 в модели цвета RGB по умолчанию, sRGB. Значение пикселя задаётся как целое число. Используются только младшие n биты значения пикселя, как указано в описании класса выше, для расчёта возвращаемого значения. Возвращаемое значение — это непоумноженное значение.

Указано:
getRed в классе ColorModel
Параметры:
pixel - указанный пиксель
Возвращает:
значение красного цветового компонента для указанного пикселя

getGreen

public final int getGreen(int pixel)

Возвращает зелёный цветовой компонент для указанного пикселя, масштабированный от 0 до 255 в модели цвета RGB по умолчанию, sRGB. Значение пикселя задаётся как целое число. Используются только младшие n биты значения пикселя, как указано в описании класса выше, для расчёта возвращаемого значения. Возвращаемое значение — это непоумноженное значение.

Указано:
getGreen в классе ColorModel
Параметры:
pixel - указанный пиксель
Возвращает:
значение зелёного цветового компонента для указанного пикселя

getBlue

public final int getBlue(int pixel)

Возвращает синий цветовой компонент для указанного пикселя, масштабированный от 0 до 255 в модели цвета RGB по умолчанию, sRGB. Значение пикселя задаётся как целое число. Используются только младшие n биты значения пикселя, как указано в описании класса выше, для расчёта возвращаемого значения. Возвращаемое значение — это непоумноженное значение.

Указано:
getBlue в классе ColorModel
Параметры:
pixel - указанный пиксель
Возвращает:
значение синего цветового компонента для указанного пикселя

getAlpha

public final int getAlpha(int pixel)

Возвращает альфа-компонент для указанного пикселя, масштабированный от 0 до 255. Значение пикселя задаётся как целое число. Используются только младшие n биты значения пикселя, как указано в описании класса выше, для расчёта возвращаемого значения.

Указано:
getAlpha в классе ColorModel
Параметры:
pixel - указанный пиксель
Возвращает:
значение альфа-компонента для указанного пикселя

getRGB

public final int getRGB(int pixel)

Возвращает цветовые/альфа-компоненты пикселя в формате модели цвета RGB по умолчанию. Значение пикселя задаётся как целое число. Используются только младшие n биты значения пикселя, как указано в описании класса выше, для расчёта возвращаемого значения. Возвращаемое значение в непоумноженном формате.

Переопределяет:
getRGB в классе ColorModel
Параметры:
pixel - указанный пиксель
Возвращает:
цветовые и альфа-компоненты указанного пикселя
См. также:
ColorModel.getRGBdefault()

getDataElements

public Object getDataElements(int rgb,
                              Object pixel)

Возвращает массив элементов данных, представляющий пиксель в этой модели цвета, учитывая целое представление пикселя в модели цвета RGB по умолчанию. Этот массив затем может быть передан методу setDataElements объекта WritableRaster. Если переменная пикселя null, новый массив выделяется. Если pixel не null, он должен быть примитивным массивом типа transferType; в противном случае, выбрасывается ClassCastException. Выбрасывается ArrayIndexOutOfBoundsException, если pixel не достаточно велик для хранения значения пикселя для этого ColorModel. Возвращается массив пикселей.

Поскольку IndexColorModel может быть подклассом, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то они выбрасывают исключение, если они используют неподдерживаемый transferType.

Переопределяет:
getDataElements в классе ColorModel
Параметры:
rgb - целое представление пикселя в модели цвета RGB по умолчанию
pixel - указанный пиксель
Возвращает:
массив, представляющий указанный пиксель в этом IndexColorModel.
Выбрасывает:
ClassCastException - если pixel не является примитивным массивом типа transferType
ArrayIndexOutOfBoundsException - если pixel не достаточно велик для хранения значения пикселя для этого ColorModel
UnsupportedOperationException - если transferType неверно
См. также:
WritableRaster.setDataElements(int, int, java.lang.Object), SampleModel.setDataElements(int, int, java.lang.Object, java.awt.image.DataBuffer)

getComponents

public int[] getComponents(int pixel,
                           int[] components,
                           int offset)

Возвращает массив ненормализованных цветовых/альфа-компонентов для указанного пикселя в этом ColorModel. Значение пикселя задаётся как целое число. Если массив components является null, выделяется новый массив, содержащий offset + getNumComponents() элементов. Возвращается массив components, содержащий альфа-компонент только если hasAlpha возвращает true. Цветовые/альфа-компоненты хранятся в массиве components начиная с offset, даже если массив выделяется этим методом. Выбрасывается ArrayIndexOutOfBoundsException, если массив components не null и не достаточно велик для хранения всех цветовых и альфа-компонентов, начиная с offset.

Переопределяет:
getComponents в классе ColorModel
Параметры:
pixel - указанный пиксель
components - массив для получения цветовых и альфа-компонентов указанного пикселя
offset - смещение в массиве components для начала хранения цветовых и альфа-компонентов
Возвращает:
массив, содержащий цветовые и альфа-компоненты указанного пикселя, начиная со смещения.
См. также:
ColorModel.hasAlpha(), ColorModel.getNumComponents()

getComponents

public int[] getComponents(Object pixel,
                           int[] components,
                           int offset)

Возвращает массив ненормализованных цветовых/альфа-компонентов для указанного пикселя в этом ColorModel. Значение пикселя задаётся массивом элементов данных типа transferType , переданным в качестве ссылки на объект. Если pixel не является примитивным массивом типа transferType, выбрасывается ClassCastException. Выбрасывается ArrayIndexOutOfBoundsException, если pixel недостаточно велик, чтобы содержать значение пикселя для этого ColorModel. Если массив components пуст, выделяется новый массив, содержащий offset + getNumComponents() элементов. Массив components возвращается, с альфа-компонентом, включаемым только если hasAlpha возвращает true. Цветовые/альфа-компоненты хранятся в массиве components начиная с offset, даже если массив выделяется этим методом. Также выбрасывается ArrayIndexOutOfBoundsException, если массив components не является null и не достаточно велик, чтобы содержать все цветовые и альфа-компоненты, начиная с offset.

Так как IndexColorModel может быть подклассом, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то выбрасывают исключение, если используют неподдерживаемый transferType.

Переопределяет:
getComponents в классе ColorModel
Параметры:
pixel - указанный пиксель
components - массив, который получает цветовые и альфа-компоненты указанного пикселя
offset - индекс в массиве components , с которого начинать хранение цветовых и альфа-компонентов указанного пикселя
Возвращает:
массив, содержащий цветовые и альфа-компоненты указанного пикселя, начиная с указанного смещения.
Исключения:
ArrayIndexOutOfBoundsException - если pixel не достаточно велик, чтобы содержать значение пикселя для этого ColorModel или если массив components не является null и не достаточно велик, чтобы содержать все цветовые и альфа-компоненты, начиная с offset
ClassCastException - если pixel не является примитивным массивом типа transferType
UnsupportedOperationException - если transferType не является одним из поддерживаемых типов передачи
См. также:
ColorModel.hasAlpha(), ColorModel.getNumComponents()

getDataElement

public int getDataElement(int[] components,
                          int offset)

Возвращает значение пикселя, представленное как целое число в этом ColorModel , заданного массивом ненормализованных цветовых/альфа-компонентов. Выбрасывается ArrayIndexOutOfBoundsException, если массив components недостаточно велик, чтобы содержать все цветовые и альфа-компоненты, начиная с offset. Так как ColorModel может быть подклассом, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то выбрасывают исключение, если используют неподдерживаемый transferType.

Переопределяет:
getDataElement в классе ColorModel
Параметры:
components - массив ненормализованных цветовых и альфа-компонентов
offset - индекс в components , с которого начинать извлечение цветовых и альфа-компонентов
Возвращает:
значение пикселя int в этом ColorModel , соответствующее указанным компонентам.
Исключения:
ArrayIndexOutOfBoundsException - если массив components не достаточно велик, чтобы содержать все цветовые и альфа-компоненты, начиная с offset
UnsupportedOperationException - если transferType неверно

getDataElements

public Object getDataElements(int[] components,
                              int offset,
                              Object pixel)

Возвращает массив элементов данных, представляющий пиксель в этом ColorModel , заданный массивом ненормализованных цветовых/альфа-компонентов. Этот массив затем может быть передан в метод setDataElements объекта WritableRaster. Выбрасывается ArrayIndexOutOfBoundsException, если массив components недостаточно велик, чтобы содержать все цветовые и альфа-компоненты, начиная с offset. Если переменная пикселя null, выделяется новый массив. Если pixel не является null, он должен быть примитивным массивом типа transferType; в противном случае выбрасывается ClassCastException. Выбрасывается ArrayIndexOutOfBoundsException, если pixel недостаточно велик, чтобы содержать значение пикселя для этого ColorModel.

Так как IndexColorModel может быть подклассом, подклассы наследуют реализацию этого метода, и если они его не переопределяют, то выбрасывают исключение, если используют неподдерживаемый transferType

Переопределяет:
getDataElements в классе ColorModel
Параметры:
components - массив ненормализованных цветовых и альфа-компонентов
offset - индекс в components , с которого начинать извлечение цветовых и альфа-компонентов
pixel - Object , представляющий массив цветовых и альфа-компонентов
Возвращает:
Object , представляющий массив цветовых и альфа-компонентов.
Исключения:
ClassCastException - если pixel не является примитивным массивом типа transferType
ArrayIndexOutOfBoundsException - если pixel недостаточно велик, чтобы содержать значение пикселя для этого ColorModel или массив components недостаточно велик, чтобы содержать все цветовые и альфа-компоненты, начиная с offset
UnsupportedOperationException - если transferType не является одним из поддерживаемых типов передачи
См. также:
WritableRaster.setDataElements(int, int, java.lang.Object), SampleModel.setDataElements(int, int, java.lang.Object, java.awt.image.DataBuffer)

createCompatibleWritableRaster

public WritableRaster createCompatibleWritableRaster(int w,
                                                     int h)

Создаёт WritableRaster с указанной шириной и высотой, имеющий структуру данных (SampleModel) совместимую с этим ColorModel. Этот метод работает только для цветовых моделей с 16 или менее битами на пиксель.

Так как IndexColorModel может быть подклассом, любой подкласс, поддерживающий более 16 бит на пиксель, должен переопределить этот метод.

Переопределяет:
createCompatibleWritableRaster в классе ColorModel
Параметры:
w - ширина для нового WritableRaster
h - высота для нового WritableRaster
Возвращает:
объект WritableRaster с указанной шириной и высотой.
Исключения:
UnsupportedOperationException - если количество бит в пикселе больше 16
См. также:
WritableRaster, SampleModel

isCompatibleRaster

public boolean isCompatibleRaster(Raster raster)

Возвращает true, если raster совместим с этим ColorModel, или false, если он не совместим с этим ColorModel.

Переопределяет:
isCompatibleRaster в классе ColorModel
Параметры:
raster - объект Raster для проверки совместимости
Возвращает:
true , если raster совместим с этим ColorModel; false в противном случае.

createCompatibleSampleModel

public SampleModel createCompatibleSampleModel(int w,
                                               int h)

Создаёт SampleModel с указанной шириной и высотой, имеющий структуру данных, совместимую с этим ColorModel.

Переопределяет:
createCompatibleSampleModel в классе ColorModel
Параметры:
w - ширина для нового SampleModel
h - высота для нового SampleModel
Возвращает:
объект 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

convertToIntDiscrete

public BufferedImage convertToIntDiscrete(Raster raster,
                                          boolean forceARGB)

Возвращает новый BufferedImage типа TYPE_INT_ARGB или TYPE_INT_RGB, имеющий Raster с данными пикселей, вычисленными путём расширения индексов в исходном Raster , используя цветовые/альфа-компоненты этого ColorModel. Используются только младшие n биты каждого значения индекса в исходном Raster, как указано в описании класса выше, для вычисления цветовых/альфа-значений в возвращаемом изображении. Если forceARGB равно true, возвращается изображение TYPE_INT_ARGB независимо от того, есть ли у этого ColorModel массив альфа-компонентов или прозрачный пиксель.

Параметры:
raster - указанный Raster
forceARGB - если true, возвращаемое BufferedImage является TYPE_INT_ARGB; в противном случае TYPE_INT_RGB
Возвращает:
BufferedImage , созданный с указанным Raster
Исключения:
IllegalArgumentException - если аргумент raster несовместим с этим IndexColorModel

isValid

public boolean isValid(int pixel)

Возвращает, является ли пиксель допустимым.

Параметры:
pixel - указанное значение пикселя
Возвращает:
true если pixel является допустимым; false в противном случае.
С:
1.3

isValid

public boolean isValid()

Возвращает, являются ли все пиксели допустимыми.

Возвращает:
true если все пиксели допустимы; false в противном случае.
С:
1.3

getValidPixels

public BigInteger getValidPixels()

Возвращает BigInteger, который указывает на допустимые/недопустимые пиксели в палитре. Бит является допустимым, если значение BigInteger в этом индексе установлено, и недопустимым, если значение BigInteger в этом индексе не установлено. Единственные допустимые диапазоны для запроса в BigInteger находятся в пределах от 0 до размера карты.

Возвращает:
a BigInteger, указывающий на допустимые/недопустимые пиксели.
С:
1.3

finalize

public void finalize()

Освобождает системные ресурсы, связанные с этим ColorModel после того, как на этот ColorModel больше не ссылаются.

Переопределяет:
finalize в классе ColorModel
См. также:
WeakReference, PhantomReference

toString

public String toString()

Возвращает строковое представление содержимого этого объекта ColorModel.

Переопределяет:
toString в классе ColorModel
Возвращает:
a String, представляющий содержимое объекта ColorModel.

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

Spec-Zone.ru

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