패키지 | flash.filters |
클래스 | public final class BlurFilter |
상속 | BlurFilter ![]() ![]() |
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9 |
quality
속성을 낮음으로 설정하면 부드럽게 초점을 흐린 모양이 나타납니다. quality
속성을 높음으로 설정하면 가우시안 흐림 필터와 비슷한 효과가 나타납니다. BitmapData 객체는 물론 MovieClip, SimpleButton, TextField 및 Video 객체와 같은 임의의 표시 객체(DisplayObject 클래스로부터 상속되는 객체)에도 필터를 적용할 수 있습니다.
새 필터를 만들려면 new BlurFilter()
생성자를 사용합니다. 필터 사용은 필터를 적용할 객체에 따라 달라집니다.
- 동영상 클립, 텍스트 필드, 버튼 및 비디오에 필터를 적용하려면
filters
속성(DisplayObject로부터 상속)을 사용합니다. 객체의filters
속성을 설정해도 객체가 수정되지는 않으며,filters
속성을 지워야 필터를 제거할 수 있습니다. - BitmapData 객체에 필터를 적용하려면
BitmapData.applyFilter()
메서드를 사용합니다. BitmapData 객체에서applyFilter()
를 호출하면 소스 BitmapData 객체와 필터 객체가 사용되고 필터링된 이미지가 결과로 생성됩니다.
표시 객체에 필터를 적용하면 해당 표시 객체의 cacheAsBitmap
속성이 true
로 설정됩니다. 모든 필터를 제거하면 cacheAsBitmap
의 원래 값이 복원됩니다.
이 필터에서는 스테이지의 크기를 조절할 수 있습니다. 그러나 전체 크기 조절, 회전 및 기울임은 지원하지 않습니다. 객체 자체의 크기가 조절된 경우(scaleX
및 scaleY
가 100%로 설정되지 않은 경우) 필터 효과의 크기는 조절되지 않습니다. 스테이지에서 확대할 때만 크기가 조절됩니다.
결과 이미지가 최대 크기를 초과하는 경우 필터는 적용되지 않습니다. 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.cacheAsBitmap
flash.display.BitmapData.applyFilter()
속성 | 정의 주체 | ||
---|---|---|---|
blurX : Number
수평 흐림 효과의 정도를 나타냅니다. | BlurFilter | ||
blurY : Number
수직 흐림 효과의 정도를 나타냅니다. | BlurFilter | ||
![]() | constructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다. | Object | |
quality : int
흐리게 처리하기를 실행하는 횟수입니다. | BlurFilter |
메서드 | 정의 주체 | ||
---|---|---|---|
지정된 매개 변수를 사용하여 해당 필터를 초기화합니다. | BlurFilter | ||
[재정의]
이 필터 객체의 복사본을 반환합니다. | BlurFilter | ||
![]() |
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다. | Object | |
![]() |
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다. | Object | |
![]() |
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다. | Object | |
![]() |
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다. | Object | |
![]() |
로캘별 규칙에 따라 서식이 지정된 이 객체의 문자열 표현을 반환합니다. | Object | |
![]() |
지정된 객체의 문자열 표현을 반환합니다. | Object | |
![]() |
지정된 객체의 프리미티브 값을 반환합니다. | Object |
blurX | 속성 |
blurY | 속성 |
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
속성의 값을 올려도 보다 빠른 렌더링으로 유사한 효과를 얻을 수 있습니다.
다음과 같은 BitmapFilterQuality 상수를 사용하여 quality
속성의 값을 지정할 수 있습니다.
BitmapFilterQuality.LOW
BitmapFilterQuality.MEDIUM
BitmapFilterQuality.HIGH
구현
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 상수를 사용하여 품질을 지정할 수 있습니다.
고품질은 가우시안 흐림과 비슷한 효과가 나타납니다. 대부분의 응용 프로그램의 경우 이 세 가지 값이면 충분합니다. 15까지의 추가 숫자 값을 사용하여 다른 효과를 얻을 수 있으나 값이 커질수록 렌더링 속도가 느려집니다. |
clone | () | 메서드 |
override public function clone():BitmapFilter
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9 |
이 필터 객체의 복사본을 반환합니다.
반환값BitmapFilter — 원본 BlurFilter 인스턴스와 속성이 모두 같은 새 BlurFilter 인스턴스입니다.
|
- 필요한 클래스를 가져옵니다.
draw()
함수에서 사용할 세 가지 속성을 선언합니다. 이 함수는 흐림 필터를 적용할 객체를 그립니다.- 다음과 같은 기능을 하는
BlurFilterExample()
생성자 함수를 만듭니다.- 나중에 선언될
draw()
함수를 호출합니다. filter
변수를 BitmapFilter 객체로 선언하고, 이 객체를getBitmapFilter()
호출의 반환 값에 할당합니다.- 새 Array 객체
myFilters
를 만들고filter
를 배열에 추가한 다음myFilters
를 BlurFilterExample 객체의filters
속성에 할당합니다. 이것은myFilters
의 모든 필터에 적용되며, 이 경우에는filter
뿐입니다.
- 나중에 선언될
- 필터의 속성을 만들고 설정하는
getBitmapFilter()
함수를 만듭니다. 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(); } } }
Tue Jun 12 2018, 03:17 PM Z