패키지flash.filters
클래스public final class BlurFilter
상속BlurFilter Inheritance BitmapFilter Inheritance Object

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0 Flash Player 9

BlurFilter 클래스를 사용하면 표시 객체에 흐림 효과를 적용할 수 있습니다. 흐리게 처리하기 효과는 이미지의 세부 부분을 부드럽게 만들어줍니다. 흐림 효과를 사용하면 부드럽게 초점을 흐린 모양부터 반투명 유리를 통해 이미지를 바라보는 것 같은 뿌연 모양의 가우시안 흐림 효과까지 다양한 효과를 연출할 수 있습니다. 이 필터의 quality 속성을 낮음으로 설정하면 부드럽게 초점을 흐린 모양이 나타납니다. quality 속성을 높음으로 설정하면 가우시안 흐림 필터와 비슷한 효과가 나타납니다. BitmapData 객체는 물론 MovieClip, SimpleButton, TextField 및 Video 객체와 같은 임의의 표시 객체(DisplayObject 클래스로부터 상속되는 객체)에도 필터를 적용할 수 있습니다.

새 필터를 만들려면 new BlurFilter() 생성자를 사용합니다. 필터 사용은 필터를 적용할 객체에 따라 달라집니다.

표시 객체에 필터를 적용하면 해당 표시 객체의 cacheAsBitmap 속성이 true로 설정됩니다. 모든 필터를 제거하면 cacheAsBitmap의 원래 값이 복원됩니다.

이 필터에서는 Stage의 크기를 조절할 수 있습니다. 그러나 전체 크기 조절, 회전 및 기울임은 지원하지 않습니다. 객체 자체의 크기가 조절된 경우(scaleXscaleY가 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픽셀입니다. 예를 들어, 필터가 적용된 큰 무비 클립을 확대하는 경우 결과 이미지가 최대 크기를 초과하면 필터가 해제됩니다.

예제 보기

참고 사항

flash.display.DisplayObject.filters
flash.display.DisplayObject.cacheAsBitmap
flash.display.BitmapData.applyFilter()


Public 속성
 속성다음에 의해 정의됨
  blurX : Number
수평 흐림 효과의 정도를 나타냅니다.
BlurFilter
  blurY : Number
수직 흐림 효과의 정도를 나타냅니다.
BlurFilter
 Inheritedconstructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다.
Object
 Inheritedprototype : Object
[정적] 클래스 또는 함수 객체의 프로토타입 객체에 대한 참조입니다.
Object
  quality : int
흐리게 처리하기를 실행하는 횟수입니다.
BlurFilter
Public 메서드
 메서드다음에 의해 정의됨
  
BlurFilter(blurX:Number = 4.0, blurY:Number = 4.0, quality:int = 1)
지정된 매개 변수를 사용하여 해당 필터를 초기화합니다.
BlurFilter
  
이 필터 객체의 복사본을 반환합니다.
BlurFilter
 Inherited
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다.
Object
 Inherited
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다.
Object
 Inherited
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다.
Object
 Inherited
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다.
Object
 Inherited
지정된 객체의 문자열 표현을 반환합니다.
Object
 Inherited
지정된 객체의 프리미티브 값을 반환합니다.
Object
속성 정보
blurX속성
blurX:Number  [읽기/쓰기]

언어 버전: ActionScript 3.0
런타임 버전: 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):void
blurY속성 
blurY:Number  [읽기/쓰기]

언어 버전: ActionScript 3.0
런타임 버전: 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):void
quality속성 
quality:int  [읽기/쓰기]

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0 Flash Player 9

흐리게 처리하기를 실행하는 횟수입니다. 기본값은 BitmapFilterQuality.LOW로서 필터를 1회 적용하는 것과 동일합니다. 값 BitmapFilterQuality.MEDIUM은 필터를 2회 적용하고 값 BitmapFilterQuality.HIGH는 3회 적용합니다. 낮은 값을 가진 필터가 보다 빠르게 렌더링됩니다.

대부분의 응용 프로그램의 경우 quality 값을 낮음, 중간, 높음으로 설정하면 충분합니다. 15까지의 추가 숫자 값을 사용하여 흐림 효과의 적용 횟수를 늘릴 수 있으나 값이 커질수록 렌더링 속도가 느려집니다. quality 값을 올리는 대신 간단히 blurXblurY 속성의 값을 올려도 보다 빠른 렌더링으로 유사한 효과를 얻을 수 있습니다.

다음과 같은 BitmapFilterQuality 상수를 사용하여 quality 속성의 값을 지정할 수 있습니다.



구현
    public function get quality():int
    public function set quality(value:int):void
생성자 정보
BlurFilter()생성자
public function BlurFilter(blurX:Number = 4.0, blurY:Number = 4.0, quality:int = 1)

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0 Flash Player 9

지정된 매개 변수를 사용하여 해당 필터를 초기화합니다. 기본값은 부드럽게 초점이 흐려진 이미지를 만들어냅니다.

매개 변수
blurX:Number (default = 4.0) — 수평 방향으로 흐리게 처리하는 정도를 나타냅니다. 유효한 값은 0부터 255.0까지(부동 소수점 값)입니다.
 
blurY:Number (default = 4.0) — 수직 방향으로 흐리게 처리하는 정도를 나타냅니다. 유효한 값은 0부터 255.0까지(부동 소수점 값)입니다.
 
quality:int (default = 1) — 필터 적용 횟수입니다. 다음과 같은 BitmapFilterQuality 상수를 사용하여 품질을 지정할 수 있습니다.
  • flash.filters.BitmapFilterQuality.LOW
  • flash.filters.BitmapFilterQuality.MEDIUM
  • flash.filters.BitmapFilterQuality.HIGH

고품질은 가우시안 흐림과 비슷한 효과가 나타납니다. 대부분의 응용 프로그램의 경우 이 세 가지 값이면 충분합니다. 15까지의 추가 숫자 값을 사용하여 다른 효과를 얻을 수 있으나 값이 커질수록 렌더링 속도가 느려집니다.

메서드 정보
clone()메서드
override public function clone():BitmapFilter

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0 Flash Player 9

이 필터 객체의 복사본을 반환합니다.

반환값
BitmapFilter — 원본 BlurFilter 인스턴스와 속성이 모두 같은 새 BlurFilter 인스턴스입니다.
예제 예제 사용 방법
BlurFilterExample.as

다음 예제에서는 어두운 노랑 사각형을 만든 다음 가우시안 스타일의 흐림 필터를 적용합니다. 이 예제의 일반적인 작업 단계는 다음과 같습니다.
  1. 필요한 클래스를 가져옵니다.
  2. draw() 함수에서 사용할 세 가지 속성을 선언합니다. 이 함수는 흐림 필터를 적용할 객체를 그립니다.
  3. 다음과 같은 기능을 하는 BlurFilterExample() 생성자 함수를 만듭니다.
    • 나중에 선언될 draw() 함수를 호출합니다.
    • filter 변수를 BitmapFilter 객체로 선언하고, 이 객체를 getBitmapFilter() 호출의 반환 값에 할당합니다.
    • 새 Array 객체 myFilters를 만들고 filter를 배열에 추가한 다음 myFilters를 BlurFilterExample 객체의 filters 속성에 할당합니다. 이것은 myFilters의 모든 필터에 적용되며, 이 경우에는 filter뿐입니다.
  4. 필터의 속성을 만들고 설정하는 getBitmapFilter() 함수를 만듭니다.
  5. draw() 함수를 만듭니다. 이 함수는 Sprite 클래스의 graphics 속성을 통해 액세스되는 Graphics 클래스의 메서드를 사용하여 사각형을 그립니다.
package {
    import flash.display.Sprite;
    import flash.filters.BitmapFilter;
    import flash.filters.BitmapFilterQuality;
    import flash.filters.BlurFilter;

    public class BlurFilterExample extends Sprite {
        private var bgColor:uint = 0xFFCC00;
        private var size:uint    = 80;
        private var offset:uint  = 50;

        public function BlurFilterExample() {
            draw();
            var filter:BitmapFilter = getBitmapFilter();
            var myFilters:Array = new Array();
            myFilters.push(filter);
            filters = myFilters;
        }

        private function getBitmapFilter():BitmapFilter {
            var blurX:Number = 30;
            var blurY:Number = 30;
            return new BlurFilter(blurX, blurY, BitmapFilterQuality.HIGH);
        }

        private function draw():void {
            graphics.beginFill(bgColor);
            graphics.drawRect(offset, offset, size, size);
            graphics.endFill();
        }
    }
}