패키지 | flash.filters |
클래스 | public final class GlowFilter |
상속 | GlowFilter BitmapFilter Object |
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9 |
distance
및 angle
속성이 0으로 설정된 그림자 필터와 유사합니다. BitmapData 객체는 물론 MovieClip, SimpleButton, TextField 및 Video 객체와 같은 임의의 표시 객체(DisplayObject 클래스로부터 상속되는 객체)에도 필터를 적용할 수 있습니다.
필터 사용은 필터를 적용할 객체에 따라 달라집니다.
- 표시 객체에 필터를 적용하려면
filters
속성(DisplayObject로부터 상속)을 사용합니다. 객체의filters
속성을 설정해도 객체가 수정되지는 않으며,filters
속성을 지워야 필터를 제거할 수 있습니다. - BitmapData 객체에 필터를 적용하려면
BitmapData.applyFilter()
메서드를 사용합니다. BitmapData 객체에서applyFilter()
를 호출하면 소스 BitmapData 객체와 필터 객체가 사용되고 필터링된 이미지가 결과로 생성됩니다.
표시 객체에 필터를 적용하면 해당 표시 객체의 cacheAsBitmap
속성이 true
로 설정됩니다. 모든 필터를 지우면 cacheAsBitmap
의 원래 값이 복원됩니다.
이 필터에서는 스테이지의 크기를 조절할 수 있습니다. 그러나 전체 크기 조절, 회전 및 기울임은 지원하지 않습니다. 객체 자체의 크기가 조절된 경우(scaleX
및 scaleY
가 1.0 이외의 값으로 설정된 경우) 필터의 크기는 조절되지 않습니다. 스테이지에서 확대할 때만 크기가 조절됩니다.
결과 이미지가 최대 크기를 초과하는 경우 필터는 적용되지 않습니다. AIR 1.5 및 Flash Player 10에서는 최대값이 8,191픽셀(폭 또는 높이)이며 총 픽셀 수는 16,777,215픽셀을 초과할 수 없습니다. 따라서 이미지의 폭이 8,191픽셀이면 높이가 2,048픽셀 이하여야 합니다. Flash Player 9 이전 버전 및 AIR 1.1 이전 버전에서는 이 제한이 높이 2,880픽셀 및 폭 2,880픽셀입니다. 예를 들어 필터가 적용된 큰 동영상 클립을 확대하는 경우 결과 이미지가 최대 크기를 초과하면 필터가 해제됩니다.
관련 API 요소
flash.display.DisplayObject.filters
flash.display.DisplayObject.cacheAsBitmap
flash.display.DisplayObject.scaleX
flash.display.DisplayObject.scaleY
flash.filters.DropShadowFilter.distance
flash.filters.DropShadowFilter.angle
속성 | 정의 주체 | ||
---|---|---|---|
alpha : Number
색상의 알파 투명도 값입니다. | GlowFilter | ||
blurX : Number
수평 흐림 효과의 정도를 나타냅니다. | GlowFilter | ||
blurY : Number
수직 흐림 효과의 정도를 나타냅니다. | GlowFilter | ||
color : uint
광선의 색상입니다. | GlowFilter | ||
constructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다. | Object | ||
inner : Boolean
광선이 내부 광선인지 여부를 지정합니다. | GlowFilter | ||
knockout : Boolean
객체에 녹아웃 효과를 적용할지 여부를 지정합니다. | GlowFilter | ||
quality : int
필터 적용 횟수입니다. | GlowFilter | ||
strength : Number
인쇄나 분사 강도를 나타냅니다. | GlowFilter |
메서드 | 정의 주체 | ||
---|---|---|---|
GlowFilter(color:uint = 0xFF0000, alpha:Number = 1.0, blurX:Number = 6.0, blurY:Number = 6.0, strength:Number = 2, quality:int = 1, inner:Boolean = false, knockout:Boolean = false)
지정된 매개 변수를 사용하여 새 GlowFilter 인스턴스를 초기화합니다. | GlowFilter | ||
[재정의]
이 필터 객체의 복사본을 반환합니다. | GlowFilter | ||
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다. | Object | ||
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다. | Object | ||
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다. | Object | ||
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다. | Object | ||
로캘별 규칙에 따라 서식이 지정된 이 객체의 문자열 표현을 반환합니다. | Object | ||
지정된 객체의 문자열 표현을 반환합니다. | Object | ||
지정된 객체의 프리미티브 값을 반환합니다. | Object |
alpha | 속성 |
blurX | 속성 |
blurY | 속성 |
color | 속성 |
inner | 속성 |
knockout | 속성 |
quality | 속성 |
quality:int
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9 |
필터 적용 횟수입니다. 기본값은 BitmapFilterQuality.LOW
로서 필터를 1회 적용하는 것과 동일합니다. 값 BitmapFilterQuality.MEDIUM
은 필터를 2회 적용하고 값 BitmapFilterQuality.HIGH
는 3회 적용합니다. 낮은 값을 가진 필터가 보다 빠르게 렌더링됩니다.
대부분의 응용 프로그램의 경우 quality
값을 낮음, 중간, 높음으로 설정하면 충분합니다. 15까지의 추가적인 숫자 값을 사용하여 다른 효과를 얻을 수 있으나 값이 높을수록 렌더링 속도가 느려집니다. quality
값을 올리는 대신 간단히 blurX
및 blurY
속성의 값을 올려도 보다 빠른 렌더링으로 유사한 효과를 얻을 수 있습니다.
구현
public function get quality():int
public function set quality(value:int):void
관련 API 요소
strength | 속성 |
GlowFilter | () | 생성자 |
public function GlowFilter(color:uint = 0xFF0000, alpha:Number = 1.0, blurX:Number = 6.0, blurY:Number = 6.0, strength:Number = 2, quality:int = 1, inner:Boolean = false, knockout:Boolean = false)
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9 |
지정된 매개 변수를 사용하여 새 GlowFilter 인스턴스를 초기화합니다.
매개 변수color:uint (default = 0xFF0000 ) — 광선의 색상으로, 16진수 형식인 0x RRGGBB로 표시됩니다. 기본값은 0xFF0000입니다.
| |
alpha:Number (default = 1.0 ) — 색상의 알파 투명도 값입니다. 유효한 값은 0부터 1까지입니다. 예를 들어 .25는 투명도 값을 25%로 설정합니다.
| |
blurX:Number (default = 6.0 ) — 수평 흐림 효과의 정도를 나타냅니다. 유효한 값은 0부터 255(부동 소수점)까지입니다. 2의 거듭제곱 값(예: 2, 4, 8, 16, 32 등)은 다른 값보다 빠르게 렌더링하도록 최적화되었습니다.
| |
blurY:Number (default = 6.0 ) — 수직 흐림 효과의 정도를 나타냅니다. 유효한 값은 0부터 255(부동 소수점)까지입니다. 2의 거듭제곱 값(예: 2, 4, 8, 16, 32 등)은 다른 값보다 빠르게 렌더링하도록 최적화되었습니다.
| |
strength:Number (default = 2 ) — 인쇄나 분사 강도를 나타냅니다. 값이 클수록 보다 많은 색상이 인쇄되고 광선과 배경 사이의 대비가 보다 뚜렷해집니다. 유효한 값은 0부터 255까지입니다.
| |
quality:int (default = 1 ) — 필터 적용 횟수입니다. 다음과 같은 BitmapFilterQuality 상수를 사용합니다.
자세한 내용은 | |
inner:Boolean (default = false ) — 광선이 내부 광선인지 여부를 지정합니다. true 값은 내부 광선을 지정합니다. false 값은 객체의 외부 가장자리 주위의 광선인 외부 광선을 지정합니다.
| |
knockout:Boolean (default = false ) — 객체에 녹아웃 효과를 적용할지 여부를 지정합니다. true 값은 객체를 투명하게 채우고 문서의 배경색을 드러냅니다.
|
관련 API 요소
clone | () | 메서드 |
override public function clone():BitmapFilter
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9 |
이 필터 객체의 복사본을 반환합니다.
반환값BitmapFilter — 원본 GlowFilter 인스턴스의 모든 속성을 가진 새 GlowFilter 인스턴스입니다.
|
- 필요한 클래스를 가져옵니다.
draw
메서드에서 사용할 세 가지 속성을 선언합니다. 이 메서드는 Sprite의graphics
속성을 통해 액세스되는 Graphics 클래스의 메서드를 사용하여 주황색 사각형을 그립니다.- 다음과 같은 기능을 하는 생성자 함수를 만듭니다.
draw
함수를 호출하여 직사각형을 만듭니다.- BitmapFilter 객체
glowFilter
를 만들고,getBitmapFilter()
함수의 반환 값을 할당합니다. glowFilter
객체의 값 배열을 루트 표시 객체의filters
속성에 할당합니다. 이 경우 루트 표시 객체의 모든 표시 객체 자식이 glow filter 속성을 상속합니다. 따라서draw()
함수에서 만든 직사각형은 glow filter 속성을 표시합니다.
package { import flash.display.Sprite; import flash.events.Event; import flash.events.MouseEvent; import flash.filters.BitmapFilter; import flash.filters.BitmapFilterQuality; import flash.filters.GlowFilter; public class GlowFilterExample extends Sprite { private var bgColor:uint = 0xFFCC00; private var size:uint = 80; private var offset:uint = 50; public function GlowFilterExample() { //draw the rectangle using the draw() function below draw(); //assign the values from getBitmapFilter function below //to a BitmapFilter object "glowFilter" var glowFilter:BitmapFilter = getBitmapFilter(); //populate the filters property of the root display object with the array of values //from the glowFilter object. filters = [ glowFilter ]; } private function getBitmapFilter():BitmapFilter { var color:Number = 0x33CCFF; var alpha:Number = 0.8; var blurX:Number = 35; var blurY:Number = 35; var strength:Number = 2; var inner:Boolean = false; var knockout:Boolean = false; var quality:Number = BitmapFilterQuality.HIGH; return new GlowFilter(color, alpha, blurX, blurY, strength, quality, inner, knockout); } private function draw():void { graphics.beginFill(bgColor); graphics.drawRect(offset, offset, size, size); graphics.endFill(); } } }
Tue Jun 12 2018, 03:17 PM Z