Spec-Zone .ru
спецификации, руководства, описания, API
След: 2-D Графика
Урок: Усовершенствованные Темы в Java2D
Составление композита Графики
Домашняя страница > 2-D Графика > Усовершенствованные Темы в Java2D

Составление композита Графики

AlphaComposite class инкапсулирует различные стили составления композита, которые определяют, как накладывающиеся объекты представляются. AlphaComposite может также иметь альфа-значение, которое определяет степень прозрачности: альфа = 1.0 полностью непрозрачна, альфа = 0.0 полностью прозрачный (четкий). AlphaComposite поддерживает большинство стандартных правил составления композита Варёного пудинга швейцара, показанных в следующей таблице.

Составление композита Правила Описание
Источник - по (SRC_OVER)
Источник - по составлению композита
Если у пикселей в представляемом объекте (источник) есть то же самое расположение как ранее представленные пиксели (место назначения), исходные пиксели представляются по целевым пикселям.
Источник - в (SRC_IN)
Источник - в составлении композита
Если пиксели в источнике и целевом перекрытии, только исходные пиксели в накладывающейся области представляются.
Источник (SRC_OUT)
Исходное составление композита
Если пиксели в источнике и целевом перекрытии, только исходные пиксели за пределами накладывающейся области представляются. Пиксели в накладывающейся области очищаются.
Место назначения - по (DST_OVER)
Место назначения - по составлению композита
Если пиксели в источнике и целевом перекрытии, только исходные пиксели за пределами накладывающейся области представляются. Пиксели в накладывающейся области не изменяются.
Место назначения - в (DST_IN)
Место назначения - в составлении композита
Если пиксели в источнике и целевом перекрытии, альфа из источника применяется к целевым пикселям в накладывающейся области. Если альфа = 1.0, пиксели в накладывающейся области неизменны; если альфа 0.0, пиксели в накладывающейся области очищаются.
Место назначения (DST_OUT)
Место назначения, составляющее композит
Если пиксели в источнике и целевом перекрытии, альфа из источника применяется к целевым пикселям в накладывающейся области. Если альфа = 1.0, пиксели в накладывающейся области очищаются; если альфа 0.0, пиксели в накладывающейся области неизменны.
Очистите (CLEAR)
Очистите с составлением композита перекрытия
Если пиксели в источнике и целевом перекрытии, пиксели в накладывающейся области очищаются.

Изменить составляющий композит стиль, используемый Graphics2D class, создайте AlphaComposite объект и передача это в setComposite метод.

Пример: Составной объект

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


Отметьте:  

Если Вы не видите, что апплет работает, Вы должны установить выпуск 6 (или позже) Java Комплект разработчика SE (JDK).


Composite.java. содержит полный код для этого апплета.

Новое AlphaComposite объект ac создается, вызывая AlphaComposite.getInstance и определяя требуемое правило составления композита.

AlphaComposite ac =
  AlphaComposite.getInstance(AlphaComposite.SRC);

Когда различное правило составления композита или альфа-значение выбираются, AlphaComposite.getInstance вызывается снова, и новое AlphaComposite присваивается ac. Выбранная альфа применяется в дополнение к альфа-значению на пиксель и передается как второй параметр к AlphaComposite.getInstance.

ac = AlphaComposite.getInstance(getRule(rule), alpha);

Составной атрибут изменяется, передавая AlphaComposite объект к Graphics 2D setComposite. Объекты представляются в a BufferedImage и позже копируются в экран, таким образом, составной атрибут устанавливается на Graphics2D контекст для BufferedImage:

BufferedImage buffImg = new BufferedImage(w, h,
                        BufferedImage.TYPE_INT_ARGB);
Graphics2D gbi = buffImg.createGraphics();
...
gbi.setComposite(ac);

Проблемы с примерами? Попытайтесь Компилировать и Выполнить Примеры: FAQ.
Жалобы? Поздравление? Предложения? Дайте нам свою обратную связь.

Предыдущая страница: Отсечение Области Рисунка
Следующая страница: Управление Качеством Рендеринга