Spec-Zone.ru › OpenJDK 24

Класс 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, а целое число 2^n-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 final AlphaComposite Clear
AlphaComposite объект, реализующий непрозрачное правило CLEAR с альфой 1.0f.
static final int CLEAR
Оба цвета и альфа значения назначения очищаются (правило Porter-Duff Clear).
static final AlphaComposite Dst
AlphaComposite объект, реализующий непрозрачное правило DST с альфой 1.0f.
static final int DST
Назначение остается неизменным (правило Porter-Duff Destination).
static final int DST_ATOP
Часть назначения, лежащая внутри источника, накладывается поверх источника и заменяет назначение (правило Porter-Duff Destination Atop Source).
static final int DST_IN
Часть назначения, лежащая внутри источника, заменяет назначение (правило Porter-Duff Destination In Source).
static final int DST_OUT
Часть назначения, лежащая вне источника, заменяет назначение (правило Porter-Duff Destination Held Out By Source).
static final int DST_OVER
Назначение накладывается поверх источника, а результат заменяет назначение (правило Porter-Duff Destination Over Source).
static final AlphaComposite DstAtop
AlphaComposite объект, реализующий непрозрачное правило DST_ATOP с альфой 1.0f.
static final AlphaComposite DstIn
AlphaComposite объект, реализующий непрозрачное правило DST_IN с альфой 1.0f.
static final AlphaComposite DstOut
AlphaComposite объект, реализующий непрозрачное правило DST_OUT с альфой 1.0f.
static final AlphaComposite DstOver
AlphaComposite объект, реализующий непрозрачное правило DST_OVER с альфой 1.0f.
static final AlphaComposite Src
AlphaComposite объект, реализующий непрозрачное правило SRC с альфой 1.0f.
static final int SRC
Источник копируется в назначение (правило Porter-Duff Source).
static final int SRC_ATOP
Часть источника, лежащая внутри назначения, накладывается на назначение (правило Porter-Duff Source Atop Destination).
static final int SRC_IN
Часть источника, лежащая внутри назначения, заменяет назначение (правило Porter-Duff Source In Destination).
static final int SRC_OUT
Часть источника, лежащая вне назначения, заменяет назначение (правило Porter-Duff Source Held Out By Destination).
static final int SRC_OVER
Источник накладывается поверх назначения (правило Porter-Duff Source Over Destination).
static final AlphaComposite SrcAtop
AlphaComposite объект, реализующий непрозрачное правило SRC_ATOP с альфой 1.0f.
static final AlphaComposite SrcIn
AlphaComposite объект, реализующий непрозрачное правило SRC_IN с альфой 1.0f.
static final AlphaComposite SrcOut
AlphaComposite объект, реализующий непрозрачное правило SRC_OUT с альфой 1.0f.
static final AlphaComposite SrcOver
AlphaComposite объект, реализующий непрозрачное правило SRC_OVER с альфой 1.0f.
static final AlphaComposite Xor
AlphaComposite объект, реализующий непрозрачное правило XOR с альфой 1.0f.
static final 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
Объект, реализующий непрозрачное правило DST_ATOP с альфой 1.0f.
Since:
1.4
См. также:
  • DST_ATOP

Xor

public static final AlphaComposite Xor
Объект, реализующий непрозрачное правило XOR с альфой 1.0f.
Since:
1.4
См. также:
  • XOR

Подробное описание методов

getInstance

public static AlphaComposite getInstance(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

getInstance

public static AlphaComposite getInstance(int rule, float alpha)
Создаёт объект AlphaComposite со заданным правилом и константой альфы, которая умножается на альфу источника. Источник умножается на указанную альфу перед композицией с назначением.
Параметры:
rule - правило композиции
alpha - константа альфа, умножаемая на альфу источника. alpha должна быть числом с плавающей точкой в диапазоне [0.0, 1.0] включительно.
Возвращает:
созданный объект AlphaComposite
Исключения:
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
Since:
1.6

derive

public AlphaComposite derive(float alpha)
Возвращает аналогичный объект AlphaComposite, использующий указанное значение альфы. Если у этого объекта уже есть указанное значение альфы, возвращается этот объект.
Параметры:
alpha - константа альфа, умножаемая на альфу источника. alpha должна быть числом с плавающей точкой в диапазоне [0.0, 1.0] включительно.
Возвращает:
объект AlphaComposite, полученный из этого объекта, использующий указанное значение альфы.
Исключения:
IllegalArgumentException - если alpha меньше 0.0 или больше 1.0
Since:
1.6

hashCode

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

equals

public boolean equals(Object obj)
Определяет, равен ли заданный объект этому объекту AlphaComposite.

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

Overrides:
equals в классе Object
Параметры:
obj - объект Object для проверки равенства
Возвращает:
true, если obj равен этому объекту AlphaComposite; false в противном случае.
См. также:
  • Object.hashCode()
  • HashMap

© 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.
https://download.java.net/java/early_access/jdk24/docs/api/java.desktop/java/awt/AlphaComposite.html

Spec-Zone.ru

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