| 런타임 버전: | AIR 1.0 Flash Player 9 |
BevelFilter 클래스를 사용하여 표시 객체에 경사 효과를 추가할 수 있습니다. 경사 효과는 버튼 같은 객체를 입체적으로 보이게 만듭니다. 다양한 강조 표시와 그림자 색상, 경사를 흐리게 처리하는 정도, 경사의 각도, 경사의 위치 및 녹아웃 효과 등을 사용하여 경사의 모양을 사용자 정의할 수 있습니다. BitmapData 객체는 물론 MovieClip, SimpleButton, TextField 및 Video 객체와 같은 임의의 표시 객체(DisplayObject 클래스로부터 상속되는 객체)에도 필터를 적용할 수 있습니다.
새 필터를 만들려면 new BevelFilter() 생성자를 사용합니다. 필터 사용은 필터를 적용할 객체에 따라 달라집니다.
-
무비 클립, 텍스트 필드, 버튼 및 비디오에 필터를 적용하려면
filters 속성(DisplayObject로부터 상속)을 사용합니다. 객체의 filters 속성을 설정해도 객체가 수정되지는 않으며, filters 속성을 지워야 필터를 제거할 수 있습니다.
-
BitmapData 객체에 필터를 적용하려면
BitmapData.applyFilter() 메서드를 사용합니다. BitmapData 객체에서 applyFilter()를 호출하면 소스 BitmapData 객체와 필터 객체가 사용되고 필터링된 이미지가 결과로 생성됩니다.
표시 객체에 필터를 적용하면 해당 객체의 cacheAsBitmap 속성이 true로 설정됩니다. 모든 필터를 제거하면 cacheAsBitmap의 원래 값이 복원됩니다.
이 필터에서는 Stage의 크기를 조절할 수 있습니다. 그러나 전체 크기 조절, 회전 및 기울임은 지원하지 않습니다. 객체 자체의 크기가 조절된 경우(scaleX 및 scaleY 속성이 100%로 설정되지 않은 경우) 필터 효과의 크기는 조절되지 않습니다. Stage에서 확대할 때만 크기가 조절됩니다.
결과 이미지가 최대 크기를 초과하는 경우 필터는 적용되지 않습니다. AIR 1.5 및 Flash Player 10에서는 최대값이 8,192픽셀(폭 또는 높이)이며 총 픽셀 수는 16,777,216픽셀을 초과할 수 없습니다. 따라서 이미지의 폭이 8,192픽셀이면 높이가 2,048픽셀 이하여야 합니다. Flash Player 9 이전 버전 및 AIR 1.1 이전 버전에서는 이 제한이 높이 2,880픽셀 및 폭 2,880픽셀입니다. 예를 들어, 필터가 적용된 큰 무비 클립을 확대하는 경우 결과 이미지가 최대 크기를 초과하면 필터가 해제됩니다.
예제 보기
angle:Number [읽기/쓰기]
| 런타임 버전: | AIR 1.0 Flash Player 9 |
경사의 각도입니다. 유효한 값은 0 ~ 360°입니다. 기본값은 45°입니다.
각도 값은 객체에 해당하는 가상 광원의 각도를 나타내며 이 값으로 해당 객체를 기준으로 효과의 배치를 결정합니다. distance 속성을 0으로 설정하면 효과가 객체로부터 오프셋되지 않으므로 angle 속성은 아무런 영향을 주지 않습니다.
구현 public function get angle():Number public function set angle(value:Number):voidblurX:Number [읽기/쓰기]
| 런타임 버전: | AIR 1.0 Flash Player 9 |
수평 흐림 효과의 정도(픽셀 단위)입니다. 유효한 값은 0부터 255(부동 소수점)까지입니다. 기본값은 4입니다. 2의 거듭제곱 값(예: 2, 4, 8, 16, 32 등)은 다른 값보다 빠르게 렌더링하도록 최적화되었습니다.
구현 public function get blurX():Number public function set blurX(value:Number):voidblurY:Number [읽기/쓰기]
| 런타임 버전: | AIR 1.0 Flash Player 9 |
수직 흐림 효과의 정도(픽셀 단위)입니다. 유효한 값은 0부터 255(부동 소수점)까지입니다. 기본값은 4입니다. 2의 거듭제곱 값(예: 2, 4, 8, 16, 32 등)은 다른 값보다 빠르게 렌더링하도록 최적화되었습니다.
구현 public function get blurY():Number public function set blurY(value:Number):voiddistance:Number [읽기/쓰기]
| 런타임 버전: | AIR 1.0 Flash Player 9 |
경사의 오프셋 거리입니다. 유효한 값의 단위는 픽셀(부동 소수점)입니다. 기본값은 4입니다.
구현 public function get distance():Number public function set distance(value:Number):voidhighlightAlpha:Number [읽기/쓰기]
| 런타임 버전: | AIR 1.0 Flash Player 9 |
강조 표시 색상의 알파 투명도 값입니다. 값은 0부터 1까지의 정규화된 값이 지정됩니다. 예를 들어, .25는 투명도 값을 25%로 설정합니다. 기본값은 1입니다.
구현 public function get highlightAlpha():Number public function set highlightAlpha(value:Number):voidhighlightColor:uint [읽기/쓰기]
| 런타임 버전: | AIR 1.0 Flash Player 9 |
경사에 대한 강조 표시 색상입니다. 유효한 값은 16진수 형식인 0xRRGGBB로 표시됩니다. 기본값은 0xFFFFFF입니다.
구현 public function get highlightColor():uint public function set highlightColor(value:uint):voidknockout:Boolean [읽기/쓰기]
| 런타임 버전: | AIR 1.0 Flash Player 9 |
효과적으로 객체를 투명하게 채우고 문서의 배경색을 나타낼 수 있는 녹아웃 효과를 적용(true)합니다. 기본값은 false(녹아웃 효과 사용 안 함)입니다.
구현 public function get knockout():Boolean public function set knockout(value:Boolean):voidquality:int [읽기/쓰기]
| 런타임 버전: | AIR 1.0 Flash Player 9 |
필터 적용 횟수입니다. 기본값은 BitmapFilterQuality.LOW로서 필터를 1회 적용하는 것과 동일합니다. 값 BitmapFilterQuality.MEDIUM은 필터를 2회 적용하고 값 BitmapFilterQuality.HIGH는 3회 적용합니다. 낮은 값을 가진 필터가 보다 빠르게 렌더링됩니다.
대부분의 응용 프로그램의 경우 quality 값을 낮음, 중간, 높음으로 설정하면 충분합니다. 15까지의 추가적인 숫자 값을 사용하여 다른 효과를 얻을 수 있으나 값이 높을수록 렌더링 속도가 느려집니다. quality 값을 올리는 대신 간단히 blurX 및 blurY 속성의 값을 올려도 보다 빠른 렌더링으로 유사한 효과를 얻을 수 있습니다.
다음과 같은 BitmapFilterQuality 상수를 사용하여 quality 속성의 값을 지정할 수 있습니다.
-
BitmapFilterQuality.LOW
-
BitmapFilterQuality.MEDIUM
-
BitmapFilterQuality.HIGH
구현 public function get quality():int public function set quality(value:int):voidshadowAlpha:Number [읽기/쓰기]
| 런타임 버전: | AIR 1.0 Flash Player 9 |
그림자 색상의 알파 투명도 값입니다. 이 값은 0부터 1까지의 정규화된 값이 지정됩니다. 예를 들어, .25는 투명도 값을 25%로 설정합니다. 기본값은 1입니다.
구현 public function get shadowAlpha():Number public function set shadowAlpha(value:Number):voidshadowColor:uint [읽기/쓰기]
| 런타임 버전: | AIR 1.0 Flash Player 9 |
경사에 대한 그림자 색상입니다. 유효한 값은 16진수 형식인 0xRRGGBB로 표시됩니다. 기본값은 0x000000입니다.
구현 public function get shadowColor():uint public function set shadowColor(value:uint):voidstrength:Number [읽기/쓰기]
| 런타임 버전: | AIR 1.0 Flash Player 9 |
인쇄나 분사 강도를 나타냅니다. 유효한 값은 0부터 255까지입니다. 값이 클수록 보다 많은 색상이 인쇄되고 경사와 배경 사이의 대비가 보다 뚜렷해집니다. 기본값은 1입니다.
구현 public function get strength():Number public function set strength(value:Number):voidtype:String [읽기/쓰기]
| 런타임 버전: | AIR 1.0 Flash Player 9 |
객체에서 경사 효과의 배치를 나타냅니다. 내부 및 외부 경사는 내부 또는 외부 가장자리에 경사 효과를 적용하고, 전체 경사는 객체 전체에 경사 효과를 적용합니다. 유효한 값은 다음과 같은 BitmapFilterType 상수입니다.
-
BitmapFilterType.INNER
-
BitmapFilterType.OUTER
-
BitmapFilterType.FULL
구현 public function get type():String public function set type(value:String):void 오류 public function BevelFilter(distance:Number = 4.0, angle:Number = 45, highlightColor:uint = 0xFFFFFF, highlightAlpha:Number = 1.0, shadowColor:uint = 0x000000, shadowAlpha:Number = 1.0, blurX:Number = 4.0, blurY:Number = 4.0, strength:Number = 1, quality:int = 1, type:String = "inner", knockout:Boolean = false)| 런타임 버전: | AIR 1.0 Flash Player 9 |
새로운 BevelFilter 인스턴스를 지정된 매개 변수로 초기화합니다.
매개 변수 | distance:Number (default = 4.0) — 경사의 오프셋 거리로, 단위는 픽셀(부동 소수점)입니다. |
| |
| angle:Number (default = 45) — 경사의 각도로, 범위는 0 ~ 360도입니다. |
| |
| highlightColor:uint (default = 0xFFFFFF) —
경사의 강조 표시 색상으로, 0xRRGGBB 형식으로 표시됩니다.
|
| |
| highlightAlpha:Number (default = 1.0) — 강조 표시 색상의 알파 투명도 값입니다. 유효한 값은 0.0부터 1.0까지입니다. 예를 들어, .25는 투명도 값을 25%로 설정합니다. |
| |
| shadowColor:uint (default = 0x000000) —
경사에 대한 그림자 색상으로, 0xRRGGBB의 형식으로 표시됩니다.
|
| |
| shadowAlpha:Number (default = 1.0) — 그림자 색상의 알파 투명도 값입니다. 유효한 값은 0.0부터 1.0까지입니다. 예를 들어, .25는 투명도 값을 25%로 설정합니다. |
| |
| blurX:Number (default = 4.0) — 수평 방향으로 흐리게 처리하는 정도를 나타내는 것으로, 단위는 픽셀입니다. 유효한 값은 0부터 255.0(부동 소수점)까지입니다. |
| |
| blurY:Number (default = 4.0) — 수직 방향으로 흐리게 처리하는 정도를 나타내는 것으로, 단위는 픽셀입니다. 유효한 값은 0부터 255.0(부동 소수점)까지입니다. |
| |
| strength:Number (default = 1) — 인쇄나 분사 강도를 나타냅니다. 값이 클수록 보다 많은 색상이 인쇄되고 경사와 배경 사이의 대비가 보다 뚜렷해집니다. 유효한 값은 0부터 255.0까지입니다. |
| |
| quality:int (default = 1) —
경사의 품질입니다. 유효한 값은 0부터 15까지입니다. 그러나 대부분의 응용 프로그램에서 다음과 같은 BitmapFilterQuality 상수를 사용할 수 있습니다.
-
BitmapFilterQuality.LOW
-
BitmapFilterQuality.MEDIUM
-
BitmapFilterQuality.HIGH
낮은 값을 가진 필터가 보다 빠르게 렌더링됩니다. 다른 가능한 숫자 값을 사용하여 다른 효과를 얻을 수 있습니다.
|
| |
| type:String (default = "inner") —
경사의 유형입니다. 유효한 값은 BitmapFilterType 상수로, BitmapFilterType.INNER, BitmapFilterType.OUTER 또는 BitmapFilterType.FULL입니다.
|
| |
| knockout:Boolean (default = false) —
효과적으로 객체를 투명하게 채우고 문서의 배경색을 나타낼 수 있는 녹아웃 효과를 적용(true)합니다.
|
참고 사항
override public function clone():BitmapFilter| 런타임 버전: | AIR 1.0 Flash Player 9 |
이 필터 객체의 복사본을 반환합니다.
반환값 | BitmapFilter — 원본 BevelFilter 인스턴스와 속성이 모두 같은 새 BevelFilter 인스턴스입니다. |
다음 예제에서는 어두운 노랑 사각형을 만든 다음 밝은 노랑(0xFFFF00)을 강조 색상으로, 파랑(0x0000FF)을 그림자로 한 경사 효과를 적용합니다. 이 예제의 일반적인 작업 단계는 다음과 같습니다.
- 필요한 클래스를 가져옵니다.
-
draw() 함수에서 사용할 세 가지 속성을 선언합니다. 이 함수는 경사 필터를 적용할 객체를 그립니다.
-
다음과 같은 기능을 하는
BevelFilterExample() 생성자 함수를 만듭니다.
-
나중에 선언될
draw() 함수를 호출합니다.
-
filter 변수를 BitmapFilter 객체로 선언하고, 이 객체를 getBitmapFilter() 호출의 반환 값에 할당합니다.
-
새 Array 객체
myFilters를 만들고 filter를 배열에 추가한 다음 myFilters를 BevelFilterExample 객체의 filters 속성에 할당합니다. 이것은 myFilters의 모든 필터에 적용되며, 이 경우에는 filter뿐입니다.
-
필터의 속성을 만들고 설정하는
getBitmapFilter 함수를 만듭니다.
-
draw() 함수를 만듭니다. 이 함수는 Sprite 클래스의 graphics 속성을 통해 액세스되는 Graphics 클래스의 메서드를 사용하여 사각형을 그립니다.
package {
import flash.display.Sprite;
import flash.filters.BevelFilter;
import flash.filters.BitmapFilter;
import flash.filters.BitmapFilterQuality;
import flash.filters.BitmapFilterType;
public class BevelFilterExample extends Sprite {
private var bgColor:uint = 0xFFCC00;
private var size:uint = 80;
private var offset:uint = 50;
public function BevelFilterExample() {
draw();
var filter:BitmapFilter = getBitmapFilter();
var myFilters:Array = new Array();
myFilters.push(filter);
filters = myFilters;
}
private function getBitmapFilter():BitmapFilter {
var distance:Number = 5;
var angleInDegrees:Number = 45;
var highlightColor:Number = 0xFFFF00;
var highlightAlpha:Number = 0.8;
var shadowColor:Number = 0x0000FF;
var shadowAlpha:Number = 0.8;
var blurX:Number = 5;
var blurY:Number = 5;
var strength:Number = 5;
var quality:Number = BitmapFilterQuality.HIGH;
var type:String = BitmapFilterType.INNER;
var knockout:Boolean = false;
return new BevelFilter(distance,
angleInDegrees,
highlightColor,
highlightAlpha,
shadowColor,
shadowAlpha,
blurX,
blurY,
strength,
quality,
type,
knockout);
}
private function draw():void {
graphics.beginFill(bgColor);
graphics.drawRect(offset, offset, size, size);
graphics.endFill();
}
}
}
© 2004-2008 Adobe Systems Incorporated. All rights reserved.
Thu Jan 8 2009, 02:16 AM -08:00