| 런타임 버전: | AIR 1.0 Flash Player 9 |
ColorTransform 클래스를 사용하여 표시 객체의 색상 값을 조정할 수 있습니다. 색상 조정이나
색상 변환은 빨강, 녹색, 파랑 및 알파 투명도의 네 개 채널 모두에 적용할 수 있습니다.
ColorTransform 객체가 표시 객체에 적용되면 각 색상 채널의 새 값은 다음과 같이 계산됩니다.
-
새 빨강 값 = (이전 빨강 값 *
redMultiplier ) + redOffset
-
새 녹색 값 = (이전 녹색 값 *
greenMultiplier ) + greenOffset
-
새 파랑 값 = (이전 파랑 값 *
blueMultiplier ) + blueOffset
-
새 알파 값 = (이전 알파 값 *
alphaMultiplier ) + alphaOffset
계산 결과에서 색상 채널의 값이 255보다 크면 255로 설정되고, 0보다 작으면 0으로 설정됩니다.
다음과 같이 ColorTransform 객체를 사용할 수 있습니다.
-
BitmapData 클래스의
colorTransform() 메서드에 대한 colorTransform 매개 변수에 사용
-
표시 객체의
transform 속성으로 사용할 수 있는 Transform 객체의 colorTransform 속성으로 사용
ColorTransform 객체의 메서드를 호출하려면 new ColorTransform() 생성자를 사용하여 ColorTransform 객체를 만들어야 합니다.
색상 변환은 무비 클립(예: 로드된 SWF 객체)의 배경색에는 적용되지 않으며 무비 클립에 첨부된 그래픽과 심볼에만 적용됩니다.
예제 보기
public var alphaMultiplier:Number| 런타임 버전: | AIR 1.0 Flash Player 9 |
알파 투명도 채널 값에 곱하는 10진수 값입니다.
DisplayObject 인스턴스의 alpha 속성을 사용하여 표시 객체의 알파 투명도 값을 설정하면 해당 표시 객체에 대한 transform.colorTransform 속성의 alphaMultiplier 속성 값에 영향을 줍니다.
참고 사항
public var alphaOffset:Number| 런타임 버전: | AIR 1.0 Flash Player 9 |
alphaMultiplier 값에 곱한 후 알파 투명도 채널 값에 더해지는 -255에서 255 사이의 숫자입니다.
public var blueMultiplier:Number| 런타임 버전: | AIR 1.0 Flash Player 9 |
파랑 채널 값에 곱하는 10진수 값입니다.
public var blueOffset:Number| 런타임 버전: | AIR 1.0 Flash Player 9 |
blueMultiplier 값에 곱한 후 파랑 채널 값에 더해지는 -255에서 255 사이의 숫자입니다.
color:uint [읽기/쓰기]
| 런타임 버전: | AIR 1.0 Flash Player 9 |
ColorTransform 객체의 RGB 색상 값입니다.
이 속성을 설정하면 그에 따라 세 개의 색상 오프셋 값(redOffset, greenOffset 및 blueOffset)이 변경되고, 세 개의 색상 승수 값(redMultiplier, greenMultiplier 및 blueMultiplier)이 0으로 설정됩니다. 알파 투명도 승수 및 오프셋 값은 변경되지 않습니다.
0x RRGGBB 형식을 사용하여 이 속성 값을 전달합니다. RR, GG 및 BB는 각 색상 구성 요소의 오프셋을 지정하는 두 개의 16진수 값으로 각각 구성됩니다. 0x는 ActionScript 컴파일러에게 숫자가 16진수 값임을 알려줍니다.
구현 public function get color():uint public function set color(value:uint):voidpublic var greenMultiplier:Number| 런타임 버전: | AIR 1.0 Flash Player 9 |
녹색 채널 값에 곱하는 10진수 값입니다.
public var greenOffset:Number| 런타임 버전: | AIR 1.0 Flash Player 9 |
greenMultiplier 값에 곱한 후 녹색 채널 값에 더해지는 -255에서 255 사이의 숫자입니다.
public var redMultiplier:Number| 런타임 버전: | AIR 1.0 Flash Player 9 |
빨강 채널 값에 곱하는 10진수 값입니다.
public var redOffset:Number| 런타임 버전: | AIR 1.0 Flash Player 9 |
redMultiplier 값에 곱한 후 빨강 채널 값에 더해지는 -255에서 255 사이의 숫자입니다.
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)| 런타임 버전: | 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| 런타임 버전: | AIR 1.0 Flash Player 9 |
second 매개 변수에 의해 지정된 ColorTranform 객체를 현재의 ColorTransform 객체와 연결하고, 두 가지 색상 변환의 추가 결합인 현재 객체를 그 결과로 설정합니다. 연결된 ColorTransform 객체를 적용한 효과는 원래의 색상 변환 뒤에 second 색상 변환을 적용한 효과와 동일합니다.
매개 변수
| second:ColorTransform — 현재 ColorTransform 객체와 결합할 ColorTransform 객체입니다. |
public function toString():String| 런타임 버전: | AIR 1.0 Flash Player 9 |
ColorTransform 객체의 모든 속성을 설명하는 문자열을 형식으로 만들고 반환합니다.
반환값 | String — ColorTransform 객체의 모든 속성을 나열하는 문자열입니다. |
다음 예제에서는 TransformExample 클래스를 사용하여 그래디언트 패턴으로 채워진 사각형 모양의 단순한 Sprite를 만듭니다. 사용자가 사각형을 클릭할 때마다 응용 프로그램은 빨강 색상 채널의 값을 늘리고 파랑 색상 채널은 밝게 하여 사각형 Sprite의 색상을 변환합니다. 이는 다음 단계로 이루어집니다.
-
생성자가 새 Sprite 객체
target을 만듭니다.
-
CustomButton() 생성자가 Sprite에 그래디언트 사각형을 그리는 draw() 메서드를 호출합니다.
-
CustomButton() 생성자가 해당 Sprite에 대한 click 이벤트 리스너를 추가합니다. 이 리스너는 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.
Thu Jan 8 2009, 02:16 AM -08:00