Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Класс ColorTransform позволяет изменять значения цвета в экранном объекте. Настройку цвета или
преобразование цвета можно применить ко всем четырем каналам: красный, зеленый, синий и альфа-прозрачность.
Когда объект ColorTransform применяется к экранному объекту, новое значение для каждого цветового канала вычисляется следующим образом:
- Новое значение красного = (старое значение красного *
redMultiplier
) + redOffset
- Новое значение зеленого = (старое значение зеленого *
greenMultiplier
) + greenOffset
- Новое значение синего = (старое значение синего *
blueMultiplier
) + blueOffset
- Новое значение альфа-канала = (старое значение альфа-канала *
alphaMultiplier
) + alphaOffset
Если после вычисления значение цветового канала превышает 255, для него настраивается значение 255. Если значение меньше 0, задается значение 0.
Объекты ColorTransform можно использовать следующими способами:
- В параметре
colorTransform
метода colorTransform()
класса BitmapData.
- В качестве свойства
colorTransform
объекта Transform (который можно использовать как свойство transform
экранного объекта).
Необходимо использовать конструктор new ColorTransform()
для создания объекта ColorTransform перед вызовом методов объекта ColorTransform.
Преобразования цветов не применяются к цвету фона фрагмента ролика (например, загруженный объект SWF). Они применяются только к изображениям и символам, прикрепленным к фрагменту ролика.
Посмотреть примеры
public var alphaMultiplier:Number
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Десятичное значение, умножаемое на значение канала альфа-прозрачности.
Если значение альфа-прозрачности экранного объекта задано напрямую с помощью свойства alpha
экземпляра DisplayObject, оно влияет на значение свойства alphaMultiplier
свойства transform.colorTransform
экранного объекта.
См. также
public var alphaOffset:Number
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Число от -255 до 255, добавляемое к значению канала альфа-прозрачности после умножения на значение alphaMultiplier
.
public var blueMultiplier:Number
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Десятичное значение, умножаемое на значение синего канала.
public var blueOffset:Number
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Число от -255 до 255, добавляемое к значению синего канала после умножения на значение blueMultiplier
.
color:uint
[чтение и запись]
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Значение цвета RGB для объекта ColorTransform.
При настройке этого свойства изменяются три значения коррекции цвета (redOffset
, greenOffset
и blueOffset
) соответственно и для трех значений множителя цвета (redMultiplier
, greenMultiplier
и blueMultiplier
) задается значение 0. Множитель и значения коррекции альфа-прозрачности не изменяются.
При передаче значения для этого свойства необходимо использовать формат 0xRRGGBB. Каждое значение RR, GG и BB состоит из двух шестнадцатеричных чисел, которые задают коррекцию каждого компонента цвета. Значение 0x указывает компилятору ActionScript, что число является шестнадцатеричным значением.
Реализация public function get color():uint
public function set color(value:uint):void
public var greenMultiplier:Number
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Десятичное значение, умножаемое на значение зеленого канала.
public var greenOffset:Number
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Число от -255 до 255, добавляемое к значению зеленого канала после умножения на значение greenMultiplier
.
public var redMultiplier:Number
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Десятичное значение, умножаемое на значение красного канала.
public var redOffset:Number
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Число от -255 до 255, добавляемое к значению красного канала после умножения на значение redMultiplier
.
public function ColorTransform(redMultiplier:Number = 1.0, greenMultiplier:Number = 1.0, blueMultiplier:Number = 1.0, alphaMultiplier:Number = 1.0, redOffset:Number = 0, greenOffset:Number = 0, blueOffset:Number = 0, alphaOffset:Number = 0)
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Создает объект ColorTransform для экранного объекта в заданными значениями цветовых каналов и значениями альфа-канала.
Параметры | redMultiplier:Number (default = 1.0 ) — Значение множителя красного цвета лежит в диапазоне от 0 до 1.
|
|
| greenMultiplier:Number (default = 1.0 ) — Значение множителя зеленого цвета лежит в диапазоне от 0 до 1.
|
|
| blueMultiplier:Number (default = 1.0 ) — Значение множителя синего цвета лежит в диапазоне от 0 до 1.
|
|
| alphaMultiplier:Number (default = 1.0 ) — Значение множителя альфа-прозрачности лежит в диапазоне от 0 до 1.
|
|
| redOffset:Number (default = 0 ) — Значение коррекции для канала красного цвета находится в диапазоне от -255 до 255.
|
|
| greenOffset:Number (default = 0 ) — Значение коррекции для канала зеленого цвета находится в диапазоне от -255 до 255.
|
|
| blueOffset:Number (default = 0 ) — Коррекция для значения канала синего цвета находится в диапазоне от -255 до 255.
|
|
| alphaOffset:Number (default = 0 ) — Коррекция для значения канала альфа-прозрачности находится в диапазоне от -255 до 255.
|
public function concat(second:ColorTransform):void
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Выполняет сцепление объекта ColorTranform, заданного параметром second
, с текущим объектом ColorTransform и задает текущий объект в качестве результата, представляющего собой аддитивную (полученную сложением) комбинацию двух преобразований цвета. При применении сцепленного объекта ColorTransform получается такой же эффект, что и при применении преобразования цвета second
после преобразования цвета original.
Параметры
| second:ColorTransform — Объект ColorTransform для комбинирования с текущим объектом ColorTransform.
|
public function toString():String
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Форматирует объект ColorTransform и возвращает строку с описанием всех его свойств.
Возвращает | String — Строка, в которой перечислены все свойства объекта ColorTransform.
|
В следующем примере класс TransformExample используется для создания простого спрайта в форме квадрата с заливкой с использованием градиентного шаблона. При каждом щелчке квадрата мышью в приложении выполняется преобразование цветов квадратного спрайта, добавление значения каналу красного цвета и осветление канала синего цвета. Это можно сделать, выполнив следующие действия:
- Конструктор создает новый объект спрайта
target
. - Конструктор
CustomButton()
вызывает метод draw()
, который рисует градиентный квадрат в спрайте. - Конструктор
CustomButton()
добавляет слушатель событий щелчка для спрайта, который обрабатывается методом clickHandler()
. - В методе
clickHandler()
два свойства заданы для свойств redOffset
и blueOffset
текущего преобразования цвета. Для каждого настроено значение 25. Затем свойство transform.colorTransform
квадратного спрайта изменяется для использования новых значений коррекции. При каждом щелчке квадрата мышью происходит обращение к методу clickHandler()
и цвет квадрата изменяется путем увеличения значения красного цвета и уменьшения значения синего цвета.
package {
import flash.display.Sprite;
import flash.display.GradientType;
import flash.geom.ColorTransform;
import flash.events.MouseEvent;
public class ColorTransformExample extends Sprite {
public function ColorTransformExample() {
var target:Sprite = new Sprite();
draw(target);
addChild(target);
target.useHandCursor = true;
target.buttonMode = true;
target.addEventListener(MouseEvent.CLICK, clickHandler)
}
public function draw(sprite:Sprite):void {
var red:uint = 0xFF0000;
var green:uint = 0x00FF00;
var blue:uint = 0x0000FF;
var size:Number = 100;
sprite.graphics.beginGradientFill(GradientType.LINEAR, [red, blue, green], [1, 0.5, 1], [0, 200, 255]);
sprite.graphics.drawRect(0, 0, 100, 100);
}
public function clickHandler(event:MouseEvent):void {
var rOffset:Number = transform.colorTransform.redOffset + 25;
var bOffset:Number = transform.colorTransform.redOffset - 25;
this.transform.colorTransform = new ColorTransform(1, 1, 1, 1, rOffset, 0, bOffset, 0);
}
}
}
© 2004-2008 Adobe Systems Incorporated. All rights reserved.
Wed Sep 24 2008, 07:56 AM -07:00