Spec-Zone.ru › OpenJDK 8

Класс AlphaComposite

  • java.lang.Object
    • java.awt.AlphaComposite
Все реализуемые интерфейсы:
Composite

public final class AlphaComposite
extends Object
implements Composite

Класс AlphaComposite реализует базовые правила альфа-композитинга для объединения исходных и целевых цветов, чтобы добиться эффектов смешивания и прозрачности с графикой и изображениями. Указанные правила, реализуемые этим классом, представляют собой базовый набор из 12 правил, описанных в статье Т. Портера и Т. Даффа «Композитинг цифровых изображений» (SIGGRAPH 84, 253–259). Остальная часть документации предполагает некоторую осведомленность с определениями и концепциями, изложенными в этой статье.

Этот класс расширяет стандартные уравнения, определенные Портером и Даффом, добавив один дополнительный фактор. Экземпляр класса AlphaComposite может содержать значение альфа, которое используется для изменения непрозрачности или покрытия каждого исходного пикселя перед его использованием в уравнениях смешивания.

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

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

В описании уравнения смешивания в статье Портера и Даффа используются следующие факторы:

Фактор Определение
As компонент альфа исходного пикселя
Cs цветовой компонент исходного пикселя в предварительно умноженном виде
Ad компонент альфа целевого пикселя
Cd цветовой компонент целевого пикселя в предварительно умноженном виде
Fs доля исходного пикселя, которая вносит вклад в выходные данные
Fd доля целевого пикселя, которая вносит вклад в выходные данные
Ar компонент альфа результата
Cr цветовой компонент результата в предварительно умноженном виде

Используя эти факторы, Портер и Дафф определяют 12 способов выбора факторов смешивания Fs и Fd для получения каждого из 12 желаемых визуальных эффектов. Уравнения для определения Fs и Fd приведены в описаниях 12 статических полей, которые определяют визуальные эффекты. Например, описание для SRC_OVER указывает, что Fs = 1 и Fd = (1-As). После того, как набор уравнений для определения факторов смешивания известен, их можно применить к каждому пикселю, чтобы получить результат, используя следующий набор уравнений:

Fs = f(Ad)
      Fd = f(As)
      Ar = As*Fs + Ad*Fd
      Cr = Cs*Fs + Cd*Fd

Следующие факторы будут использоваться для обсуждения наших расширений уравнения смешивания в статье Портера и Даффа:

Фактор Определение
Csr один из исходных цветовых компонентов исходного пикселя
Cdr один из исходных цветовых компонентов целевого пикселя
Aac «дополнительный» компонент альфа из экземпляра AlphaComposite
Asr исходный компонент альфа исходного пикселя
Adr исходный компонент альфа целевого пикселя
Adf конечный компонент альфа, хранящийся в пункте назначения
Cdf конечный исходный цветовой компонент, хранящийся в пункте назначения

Подготовка входных данных

Класс AlphaComposite определяет дополнительное значение альфа, которое применяется к исходному альфа-значению. Это значение применяется так, как будто сначала применено неявное правило SRC_IN к исходному пикселю относительно пикселя с указанным альфа, умножив как исходный альфа, так и исходные цвета на альфа в AlphaComposite. Это приводит к следующему уравнению для получения альфа, используемого в уравнении смешивания Портера и Даффа:

As = Asr * Aac
Все исходные цветовые компоненты должны быть умножены на альфа в экземпляре AlphaComposite. Кроме того, если исходный пиксель не был в предварительно умноженном виде, то цветовые компоненты также нужно умножить на исходный альфа. Таким образом, уравнение для получения цветовых компонентов источника для уравнения Портера и Даффа зависит от того, были ли исходные пиксели предварительно умножены или нет:
Cs = Csr * Asr * Aac     (if source is not premultiplied)
      Cs = Csr * Aac           (if source is premultiplied)
Коррекция целевого альфа не требуется:
Ad = Adr

Цветовые компоненты назначения должны быть скорректированы только в том случае, если они не в предварительно умноженном формате:

Cd = Cdr * Ad    (if destination is not premultiplied)
      Cd = Cdr         (if destination is premultiplied)

Применение уравнения смешивания

Откорректированные значения As, Ad, Cs и Cd используются в стандартных уравнениях Портера и Даффа для расчета факторов смешивания Fs и Fd, а затем полученных предварительно умноженных компонентов Ar и Cr.

Подготовка результатов

Результаты необходимо скорректировать только в том случае, если они должны быть сохранены обратно в буфер назначения, содержащий данные, которые не предварительно умножены, используя следующие уравнения:

Adf = Ar
      Cdf = Cr                 (if dest is premultiplied)
      Cdf = Cr / Ar            (if dest is not premultiplied)
Обратите внимание, что поскольку деление не определено, если результирующий альфа равен нулю, в этом случае деление опускается, чтобы избежать «деления на ноль», и цветовые компоненты остаются равными нулю.

Учет производительности

По соображениям производительности предпочтительно, чтобы объекты Raster , передаваемые методу compose объекта CompositeContext, созданного классом AlphaComposite, имели предварительно умноженные данные. Однако если исходный Raster или целевой Raster не предварительно умножены, перед и после операции композитинга выполняются соответствующие преобразования.

Особенности реализации

  • Многие источники, такие как некоторые типы непрозрачных изображений, перечисленные в классе BufferedImage, не хранят значения альфа-канала для своих пикселей. Такие источники предоставляют альфа-значение 1.0 для всех своих пикселей.
  • Многие целевые изображения также не имеют места для хранения значений альфа-канала, полученных в результате вычислений смешивания, выполняемых этим классом. Таким образом, такие целевые изображения неявно отбрасывают полученные значения альфа-канала, которые производит этот класс. Рекомендуется, чтобы такие целевые изображения обрабатывали свои сохраненные цветовые значения как непредво-умноженные и делили полученные цветовые значения на полученное значение альфа-канала перед сохранением цветовых значений и отбрасыванием значения альфа-канала.
  • Точность результатов зависит от способа хранения пикселей в целевом изображении. Формат изображения, который предоставляет как минимум 8 бит памяти на каждый цветовой и альфа-компонент, по меньшей мере, подходит для использования в качестве целевого изображения для последовательности от нескольких до дюжины операций композитинга. Формат изображения с менее чем 8 битами памяти на компонент имеет ограниченное применение для одной или двух операций композитинга, прежде чем ошибки округления будут доминировать в результатах. Формат изображения, который не хранит цветовые компоненты раздельно, не является хорошим кандидатом для любого типа полупрозрачного смешивания. Например, BufferedImage.TYPE_BYTE_INDEXED не следует использовать в качестве целевого изображения для операции смешивания, потому что каждая операция может вводить большие ошибки из-за необходимости выбора пикселя из ограниченной палитры для соответствия результатам уравнений смешивания.
  • Почти все форматы хранят пиксели в виде дискретных целых чисел, а не в виде чисел с плавающей запятой, используемых в приведенных выше эталонных уравнениях. Реализация может либо масштабировать значения пикселей целых чисел в значения с плавающей запятой в диапазоне от 0,0 до 1,0, либо использовать слегка измененные версии уравнений, которые работают исключительно в целочисленной области и тем не менее производят аналогичные результаты эталонным уравнениям.

    Обычно значения целых чисел связаны со значениями с плавающей запятой таким образом, что целое число 0 эквивалентно значению с плавающей запятой 0,0, а целое число 2n-1 (где n — количество битов в представлении) эквивалентно 1,0. Для 8-битных представлений это означает, что 0x00 представляет 0,0, а 0xff — 1,0.

  • Внутренняя реализация может аппроксимировать некоторые уравнения и также может исключить некоторые шаги, чтобы избежать ненужных операций. Например, рассмотрим дискретное целочисленное изображение с непредво-умноженными значениями альфа-канала, которое использует 8 бит на компонент для хранения. Сохраненные значения для почти прозрачного затемненного красного цвета могут быть:
    (A, R, G, B) = (0x01, 0xb0, 0x00, 0x00)

    Если использовалась целочисленная арифметика и это значение композировалось в режиме SRC без дополнительного альфа-канала, то математические вычисления показали бы, что результаты (в целочисленном формате) были:

    (A, R, G, B) = (0x01, 0x01, 0x00, 0x00)

    Обратите внимание, что промежуточные значения, которые всегда находятся в предво-умноженной форме, позволят целочисленному красному компоненту быть либо 0x00, либо 0x01. Когда мы попытаемся сохранить этот результат обратно в целевое изображение, которое не имеет предво-умножения, деление на альфа-канал даст нам очень мало вариантов для значения красного цвета без предво-умножения. В этом случае реализация, выполняющая вычисления в целочисленном пространстве без сокращений, вероятно, приведет к конечным значениям пикселей:

    (A, R, G, B) = (0x01, 0xff, 0x00, 0x00)

    (Обратите внимание, что 0x01, деленное на 0x01, дает 1,0, что эквивалентно значению 0xff в формате хранения на 8 бит.)

    В качестве альтернативы, реализация, использующая арифметику с плавающей запятой, может дать более точные результаты и в конечном итоге вернуть исходное значение пикселя с небольшими, если таковые имеются, ошибками округления. Или же реализация, использующая целочисленную арифметику, может решить, что поскольку уравнения сводятся к виртуальной операции NOP для цветовых значений, если они выполняются в пространстве с плавающей запятой, она может передать пиксель без изменений в целевое изображение и избежать всех вычислений полностью.

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

    (A, R, G, B) = (0x01, 0x01, 0x00, 0x00)

    и, следовательно, они все будут совпадать.

  • Из-за техники упрощения уравнений для повышения эффективности вычислений некоторые реализации могут работать по-разному при столкновении с результатами альфа-значений 0,0 в целевом изображении без предво-умножения. Обратите внимание, что упрощение удаления деления на альфа-канал в случае правила SRC технически не является корректным, если знаменатель (альфа) равен 0. Но поскольку результаты должны ожидаться точными только при просмотре в предво-умноженной форме, альфа-значение 0 фактически делает результирующие цветовые компоненты нерелевантными, и поэтому точного поведения в этом случае не следует ожидать.
См. также:
Composite, CompositeContext

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

Модификатор и тип Поле и описание
static AlphaComposite Clear

AlphaComposite объект, реализующий непрозрачное правило CLEAR с альфа-каналом 1.0f.

static int CLEAR

Цвет и альфа-канал целевого изображения очищаются (правило Porter-Duff Clear).

static AlphaComposite Dst

AlphaComposite объект, реализующий непрозрачное правило DST с альфа-каналом 1.0f.

static int DST

Целевое изображение остается без изменений (правило Porter-Duff Destination).

static int DST_ATOP

Часть целевого изображения, находящаяся внутри источника, композируется поверх источника и заменяет целевое изображение (правило Porter-Duff Destination Atop Source).

static int DST_IN

Часть целевого изображения, находящаяся внутри источника, заменяет целевое изображение (правило Porter-Duff Destination In Source).

static int DST_OUT

Часть целевого изображения, находящаяся вне источника, заменяет целевое изображение (правило Porter-Duff Destination Held Out By Source).

static int DST_OVER

Целевое изображение композируется поверх источника, и результат заменяет целевое изображение (правило Porter-Duff Destination Over Source).

static AlphaComposite DstAtop

AlphaComposite объект, реализующий непрозрачное правило DST_ATOP с альфа-каналом 1.0f.

static AlphaComposite DstIn

AlphaComposite объект, реализующий непрозрачное правило DST_IN с альфа-каналом 1.0f.

static AlphaComposite DstOut

AlphaComposite объект, реализующий непрозрачное правило DST_OUT с альфа-каналом 1.0f.

static AlphaComposite DstOver

AlphaComposite объект, реализующий непрозрачное правило DST_OVER с альфа-каналом 1.0f.

static AlphaComposite Src

AlphaComposite объект, реализующий непрозрачное правило SRC с альфа-каналом 1.0f.

static int SRC

Источник копируется в целевое изображение (правило Porter-Duff Source).

static int SRC_ATOP

Часть источника, находящаяся внутри целевого изображения, композируется на целевое изображение (правило Porter-Duff Source Atop Destination).

static int SRC_IN

Часть источника, находящаяся внутри целевого изображения, заменяет целевое изображение (правило Porter-Duff Source In Destination).

static int SRC_OUT

Часть источника, находящаяся вне целевого изображения, заменяет целевое изображение (правило Porter-Duff Source Held Out By Destination).

static int SRC_OVER

Источник композируется поверх целевого изображения (правило Porter-Duff Source Over Destination).

static AlphaComposite SrcAtop

AlphaComposite объект, реализующий непрозрачное правило SRC_ATOP с альфа-каналом 1.0f.

static AlphaComposite SrcIn

AlphaComposite объект, реализующий непрозрачное правило SRC_IN с альфа-каналом 1.0f.

static AlphaComposite SrcOut

AlphaComposite объект, реализующий непрозрачное правило SRC_OUT с альфа-каналом 1.0f.

static AlphaComposite SrcOver

AlphaComposite объект, реализующий непрозрачное правило SRC_OVER с альфа-каналом 1.0f.

static AlphaComposite Xor

AlphaComposite объект, реализующий непрозрачное правило XOR с альфа-каналом 1.0f.

static int XOR

Часть источника, находящаяся вне целевого изображения, объединяется с частью целевого изображения, находящейся вне источника (правило Porter-Duff Source Xor Destination).

Краткое описание методов

Модификатор и тип Метод и описание
CompositeContext createContext(ColorModel srcColorModel, ColorModel dstColorModel, RenderingHints hints)

Создаёт контекст для операции композитинга.

AlphaComposite derive(float alpha)

Возвращает подобный объект AlphaComposite, использующий указанное значение альфа-канала.

AlphaComposite derive(int rule)

Возвращает подобный объект AlphaComposite, использующий указанное правило композитинга.

boolean equals(Object obj)

Определяет, равен ли указанный объект этому объекту AlphaComposite.

float getAlpha()

Возвращает значение альфа-канала этого объекта AlphaComposite.

static AlphaComposite getInstance(int rule)

Создаёт объект AlphaComposite с указанным правилом.

static AlphaComposite getInstance(int rule, float alpha)

Создаёт объект AlphaComposite с указанным правилом и постоянным альфа-каналом для умножения на альфа-канал источника.

int getRule()

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

int hashCode()

Возвращает хэш-код для этого объекта композитинга.

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

clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait

Поля

CLEAR

@Native
public static final int CLEAR

Очищаются как цвет, так и альфа-канал назначения (правило Porter-Duff Clear). Ни источник, ни назначение не используются в качестве входных данных.

Fs = 0 и Fd = 0, следовательно:

Ar = 0
  Cr = 0
См. также:
Значения константных полей

SRC

@Native
public static final int SRC

Источник копируется в назначение (правило Porter-Duff Source). Назначение не используется в качестве входных данных.

Fs = 1 и Fd = 0, следовательно:

Ar = As
  Cr = Cs
См. также:
Значения константных полей

DST

@Native
public static final int DST

Назначение остается без изменений (правило Porter-Duff Destination).

Fs = 0 и Fd = 1, следовательно:

Ar = Ad
  Cr = Cd
С:
1.4
См. также:
Значения константных полей

SRC_OVER

@Native
public static final int SRC_OVER

Источник накладывается поверх назначения (правило Porter-Duff Source Over Destination).

Fs = 1 и Fd = (1-As), следовательно:

Ar = As + Ad*(1-As)
  Cr = Cs + Cd*(1-As)
См. также:
Значения константных полей

DST_OVER

@Native
public static final int DST_OVER

Назначение накладывается поверх источника, и результат заменяет назначение (правило Porter-Duff Destination Over Source).

Fs = (1-Ad) и Fd = 1, следовательно:

Ar = As*(1-Ad) + Ad
  Cr = Cs*(1-Ad) + Cd
См. также:
Значения константных полей

SRC_IN

@Native
public static final int SRC_IN

Часть источника, расположенная внутри назначения, заменяет назначение (правило Porter-Duff Source In Destination).

Fs = Ad и Fd = 0, следовательно:

Ar = As*Ad
  Cr = Cs*Ad
См. также:
Значения константных полей

DST_IN

@Native
public static final int DST_IN

Часть назначения, расположенная внутри источника, заменяет назначение (правило Porter-Duff Destination In Source).

Fs = 0 и Fd = As, следовательно:

Ar = Ad*As
  Cr = Cd*As
См. также:
Значения константных полей

SRC_OUT

@Native
public static final int SRC_OUT

Часть источника, расположенная вне назначения, заменяет назначение (правило Porter-Duff Source Held Out By Destination).

Fs = (1-Ad) и Fd = 0, следовательно:

Ar = As*(1-Ad)
  Cr = Cs*(1-Ad)
См. также:
Значения константных полей

DST_OUT

@Native
public static final int DST_OUT

Часть назначения, расположенная вне источника, заменяет назначение (правило Porter-Duff Destination Held Out By Source).

Fs = 0 и Fd = (1-As), следовательно:

Ar = Ad*(1-As)
  Cr = Cd*(1-As)
См. также:
Значения константных полей

SRC_ATOP

@Native
public static final int SRC_ATOP

Часть источника, расположенная внутри назначения, накладывается на назначение (правило Porter-Duff Source Atop Destination).

Fs = Ad и Fd = (1-As), следовательно:

Ar = As*Ad + Ad*(1-As) = Ad
  Cr = Cs*Ad + Cd*(1-As)
С:
1.4
См. также:
Значения константных полей

DST_ATOP

@Native
public static final int DST_ATOP

Часть назначения, расположенная внутри источника, накладывается поверх источника и заменяет назначение (правило Porter-Duff Destination Atop Source).

Fs = (1-Ad) и Fd = As, следовательно:

Ar = As*(1-Ad) + Ad*As = As
  Cr = Cs*(1-Ad) + Cd*As
С:
1.4
См. также:
Значения константных полей

XOR

@Native
public static final int XOR

Часть источника, находящаяся вне назначения, объединяется с частью назначения, находящейся вне источника (правило Porter-Duff Source Xor Destination).

Fs = (1-Ad) и Fd = (1-As), следовательно:

Ar = As*(1-Ad) + Ad*(1-As)
  Cr = Cs*(1-Ad) + Cd*(1-As)
С:
1.4
См. также:
Значения константных полей

Clear

public static final AlphaComposite Clear

AlphaComposite объект, реализующий непрозрачное правило CLEAR с альфой 1.0f.

См. также:
CLEAR

Src

public static final AlphaComposite Src

AlphaComposite объект, реализующий непрозрачное правило SRC с альфой 1.0f.

См. также:
SRC

Dst

public static final AlphaComposite Dst

AlphaComposite объект, реализующий непрозрачное правило DST с альфой 1.0f.

С:
1.4
См. также:
DST

SrcOver

public static final AlphaComposite SrcOver

AlphaComposite объект, реализующий непрозрачное правило SRC_OVER с альфой 1.0f.

См. также:
SRC_OVER

DstOver

public static final AlphaComposite DstOver

AlphaComposite объект, реализующий непрозрачное правило DST_OVER с альфой 1.0f.

См. также:
DST_OVER

SrcIn

public static final AlphaComposite SrcIn

AlphaComposite объект, реализующий непрозрачное правило SRC_IN с альфой 1.0f.

См. также:
SRC_IN

DstIn

public static final AlphaComposite DstIn

AlphaComposite объект, реализующий непрозрачное правило DST_IN с альфой 1.0f.

См. также:
DST_IN

SrcOut

public static final AlphaComposite SrcOut

AlphaComposite объект, реализующий непрозрачное правило SRC_OUT с альфой 1.0f.

См. также:
SRC_OUT

DstOut

public static final AlphaComposite DstOut

AlphaComposite объект, реализующий непрозрачное правило DST_OUT с альфой 1.0f.

См. также:
DST_OUT

SrcAtop

public static final AlphaComposite SrcAtop

AlphaComposite объект, реализующий непрозрачное правило SRC_ATOP с альфой 1.0f.

С:
1.4
См. также:
SRC_ATOP

DstAtop

public static final AlphaComposite DstAtop

AlphaComposite объект, реализующий непрозрачное правило DST_ATOP с альфой 1.0f.

С:
1.4
См. также:
DST_ATOP

Xor

public static final AlphaComposite Xor

AlphaComposite объект, реализующий непрозрачное правило XOR с альфой 1.0f.

С:
1.4
См. также:
XOR

Методы

getInstance

public static AlphaComposite getInstance(int rule)

Создаёт объект AlphaComposite с указанным правилом.

Параметры:
rule - правило композиции
Исключения:
IllegalArgumentException - если rule не является одним из следующих: CLEAR, SRC, DST, SRC_OVER, DST_OVER, SRC_IN, DST_IN, SRC_OUT, DST_OUT, SRC_ATOP, DST_ATOP, или XOR

getInstance

public static AlphaComposite getInstance(int rule,
                                         float alpha)

Создаёт объект AlphaComposite с указанным правилом и постоянной альфой для умножения на альфу источника. Источник умножается на указанную альфу перед композицией с назначением.

Параметры:
rule - правило композиции
alpha - постоянное значение альфа, которое будет умножаться на альфа исходного изображения. alpha должно быть числом с плавающей точкой в диапазоне от 0,0 до 1,0 включительно.
Исключения:
IllegalArgumentException - если alpha меньше 0,0 или больше 1,0, или если rule не является одним из следующих: CLEAR, SRC, DST, SRC_OVER, DST_OVER, SRC_IN, DST_IN, SRC_OUT, DST_OUT, SRC_ATOP, DST_ATOP или XOR

createContext

public CompositeContext createContext(ColorModel srcColorModel,
                                      ColorModel dstColorModel,
                                      RenderingHints hints)

Создаёт контекст для операции композиции. Контекст содержит состояние, используемое при выполнении операции композиции.

Определено в:
createContext в интерфейсе Composite
Параметры:
srcColorModel - ColorModel источника
dstColorModel - ColorModel назначения
hints - подсказка, которую использует объект контекста для выбора между альтернативными способами отрисовки
Возвращает:
объект CompositeContext, используемый для выполнения операций композиции.

getAlpha

public float getAlpha()

Возвращает значение альфа данного объекта AlphaComposite. Если у этого объекта AlphaComposite нет значения альфа, возвращается 1,0.

Возвращает:
значение альфа данного объекта AlphaComposite.

getRule

public int getRule()

Возвращает правило композиции данного объекта AlphaComposite.

Возвращает:
правило композиции данного объекта AlphaComposite.

derive

public AlphaComposite derive(int rule)

Возвращает подобный объект AlphaComposite, использующий указанное правило композиции. Если этот объект уже использует указанное правило композиции, возвращается этот же объект.

Параметры:
rule - правило композиции
Возвращает:
объект AlphaComposite, полученный из этого объекта и использующий указанное правило композиции.
Исключения:
IllegalArgumentException - если rule не является одним из следующих: CLEAR, SRC, DST, SRC_OVER, DST_OVER, SRC_IN, DST_IN, SRC_OUT, DST_OUT, SRC_ATOP, DST_ATOP или XOR
С:
1.6

derive

public AlphaComposite derive(float alpha)

Возвращает подобный объект AlphaComposite, использующий указанное значение альфа. Если у этого объекта уже есть указанное значение альфа, возвращается этот же объект.

Параметры:
alpha - постоянное значение альфа, которое будет умножаться на альфа исходного изображения. alpha должно быть числом с плавающей точкой в диапазоне от 0,0 до 1,0 включительно.
Возвращает:
объект AlphaComposite, полученный из этого объекта и использующий указанное значение альфа.
Исключения:
IllegalArgumentException - если alpha меньше 0,0 или больше 1,0
С:
1.6

hashCode

public int hashCode()

Возвращает код хэша для этой композиции.

Переопределяет:
hashCode в классе Object
Возвращает:
код хэша для этой композиции.
См. также:
Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)

equals

public boolean equals(Object obj)

Определяет, равен ли указанный объект этому объекту AlphaComposite.

Результат равен true, если и только если аргумент не null и является объектом AlphaComposite с тем же правилом композиции и значением альфа, что и этот объект.

Переопределяет:
equals в классе Object
Параметры:
obj - объект Object для проверки равенства
Возвращает:
true если obj равен этому объекту AlphaComposite; 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.

Spec-Zone.ru

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