패키지 | flash.filters |
클래스 | public final class GradientBevelFilter |
상속 | GradientBevelFilter BitmapFilter Object |
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9 |
필터 사용은 필터를 적용할 객체에 따라 달라집니다.
- 표시 객체에 필터를 적용하려면
filters
속성을 사용합니다. 객체의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.BitmapData.applyFilter()
BevelFilter
flash.display.DisplayObject.filters
flash.display.DisplayObject.cacheAsBitmap
속성 | 정의 주체 | ||
---|---|---|---|
alphas : Array
colors 배열에서 해당 색상의 알파 투명도 값의 배열입니다. | GradientBevelFilter | ||
angle : Number
각도를 나타냅니다. | GradientBevelFilter | ||
blurX : Number
수평 흐림 효과의 정도를 나타냅니다. | GradientBevelFilter | ||
blurY : Number
수직 흐림 효과의 정도를 나타냅니다. | GradientBevelFilter | ||
colors : Array
그래디언트에서 사용하는 RGB 16진수 색상 값의 배열입니다. | GradientBevelFilter | ||
constructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다. | Object | ||
distance : Number
오프셋 거리입니다. | GradientBevelFilter | ||
knockout : Boolean
객체에 녹아웃 효과를 적용할지 여부를 지정합니다. | GradientBevelFilter | ||
quality : int
필터 적용 횟수입니다. | GradientBevelFilter | ||
ratios : Array
colors 배열에서 해당 색상에 대한 색상 배분 비율의 배열입니다. | GradientBevelFilter | ||
strength : Number
인쇄나 분사 강도를 나타냅니다. | GradientBevelFilter | ||
type : String
경사 효과의 배치를 나타냅니다. | GradientBevelFilter |
메서드 | 정의 주체 | ||
---|---|---|---|
GradientBevelFilter(distance:Number = 4.0, angle:Number = 45, colors:Array = null, alphas:Array = null, ratios:Array = null, blurX:Number = 4.0, blurY:Number = 4.0, strength:Number = 1, quality:int = 1, type:String = "inner", knockout:Boolean = false)
지정된 매개 변수를 사용하여 해당 필터를 초기화합니다. | GradientBevelFilter | ||
[재정의]
이 필터 객체의 복사본을 반환합니다. | GradientBevelFilter | ||
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다. | Object | ||
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다. | Object | ||
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다. | Object | ||
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다. | Object | ||
로캘별 규칙에 따라 서식이 지정된 이 객체의 문자열 표현을 반환합니다. | Object | ||
지정된 객체의 문자열 표현을 반환합니다. | Object | ||
지정된 객체의 프리미티브 값을 반환합니다. | Object |
alphas | 속성 |
alphas:Array
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9 |
colors
배열에서 해당 색상의 알파 투명도 값의 배열입니다. 배열된 각 요소의 유효한 값은 0부터 1까지입니다. 예를 들어 .25는 투명도 값을 25%로 설정합니다.
alphas
속성은 해당 값을 바로 수정해서 변경할 수 없습니다. 대신 alphas
에 대한 참조를 가져오고 해당 참조를 변경한 다음 참조에 대한 alphas
를 설정해야 합니다.
colors
, alphas
및 ratios
속성은 서로 연관되어 있습니다. 즉, colors
배열의 첫 번째 요소는 alphas
배열과 ratios
배열의 첫 번째 요소에 해당하고 나머지 요소도 이와 마찬가지입니다.
구현
public function get alphas():Array
public function set alphas(value:Array):void
오류
TypeError — 설정 중인 Array가 null입니다.
|
관련 API 요소
angle | 속성 |
angle:Number
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9 |
각도를 나타냅니다. 유효한 값은 0부터 360까지입니다. 기본값은 45입니다.
각도 값은 객체에 해당하는 가상 광원의 각도를 나타냅니다. 이 값은 그래디언트 색상이 객체에 적용되는 각도를 결정합니다. 즉, 강조 표시와 그림자가 나타나는 위치와 배열의 첫 색상이 나타나는 위치 등을 지정합니다. 그 다음에 색상이 배열에 나타나는 순서로 적용됩니다.
구현
public function get angle():Number
public function set angle(value:Number):void
관련 API 요소
blurX | 속성 |
blurY | 속성 |
colors | 속성 |
colors:Array
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9 |
그래디언트에서 사용하는 RGB 16진수 색상 값의 배열입니다. 예를 들어 빨강은 0xFF0000이고 파랑은 0x0000FF입니다.
colors
속성은 해당 값을 바로 수정해서 변경할 수 없습니다. 대신 colors
에 대한 참조를 가져오고 해당 참조를 변경한 다음 참조에 대한 colors
를 설정해야 합니다.
colors
, alphas
및 ratios
속성은 서로 연관되어 있습니다. 즉, colors
배열의 첫 번째 요소는 alphas
배열과 ratios
배열의 첫 번째 요소에 해당하고 나머지 요소도 이와 마찬가지입니다.
구현
public function get colors():Array
public function set colors(value:Array):void
오류
TypeError — 설정 중인 Array가 null입니다.
|
관련 API 요소
distance | 속성 |
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 요소
ratios | 속성 |
ratios:Array
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9 |
colors
배열에서 해당 색상에 대한 색상 배분 비율의 배열입니다. 배열된 각 요소의 유효한 값은 0부터 255까지입니다.
ratios
속성은 해당 값을 바로 수정해서 변경할 수 없습니다. 대신 ratios
에 대한 참조를 가져오고 해당 참조를 변경한 다음 참조에 대한 ratios
를 설정해야 합니다.
colors
, alphas
및 ratios
속성은 서로 연관되어 있습니다. 즉, colors
배열의 첫 번째 요소는 alphas
배열과 ratios
배열의 첫 번째 요소에 해당하고 나머지 요소도 이와 마찬가지입니다.
그래디언트 경사에서 색상을 분산하는 방법을 이해하려면 그래디언트 경사에 사용하려는 색상을 먼저 고려합니다. 간단한 경사에는 강조 표시 색상과 그림자 색상이 있으며, 그래디언트 경사에는 강조 표시 그래디언트와 그림자 그래디언트가 있습니다. 강조 표시가 왼쪽 위 모서리에 나타나고 그림자가 오른쪽 아래 모서리에 나타난다고 가정해 봅니다. 그리고, 강조 표시에 4개의 색상과 그림자에 4개의 색상이 있는 필터를 사용한다고 가정합니다. 강조 표시와 그림자 외에도 강조 표시와 그림자의 가장자리가 만나는 곳에 표시되는 기본 채움 색상에도 필터가 사용됩니다. 따라서 총 색상 수와 ratios 배열의 해당 요소 수는 각각 9개입니다.
그래디언트가 여러 줄의 색상으로 서로 블렌드되어 구성되는 경우 각 비율 값으로 그래디언트 반경의 색상 위치를 설정합니다. 여기서 0은 그래디언트의 가장 바깥쪽 지점을 나타내고 255는 그래디언트의 가장 안쪽 지점을 나타냅니다. 일반적으로 사용하는 경우 가운데 값 128(기본 채우기 값)을 사용합니다. 아래 그림에 경사 효과를 표시하려면 9개의 색상 예제를 사용하여 비율 값을 다음과 같이 지정합니다.
- 처음 네 색상은 0과 127 사이의 범위에 있도록 하고, 값이 점점 증가하여 각 값이 이전 값보다 크거나 같도록 지정합니다. 이것이 강조 표시 경사 가장자리입니다.
- 다섯 번째 색상(가운데 색상)은 기본 채움으로 128로 설정합니다. 픽셀 값 128로 기본 채움을 설정하는데, 이 기본 채움은 유형이 outer로 설정된 경우 해당 모양의 외부(및 경사 가장자리 주위)에 나타나고 유형이 inner로 설정된 경우 객체 자체의 채움을 효과적으로 가리면서 해당 모양 내부에 나타납니다.
- 마지막 네 색상은 129와 255 사이의 범위에 있도록 하고 값이 점점 증가하여 각 값이 이전 값보다 크거나 같도록 지정합니다. 이것이 그림자 경사 가장자리입니다.
각 가장자리에 대해 색상을 고르게 분산시키려면 홀수의 색상을 사용합니다. 이때 가운데 색상은 기본 채움입니다. 색상에서 0-127 및 129-255의 값을 골고루 분배하고 그래디언트에서 값을 조절하여 각 색상 줄의 폭을 변경합니다. 9개의 색상이 있는 그래디언트 경사의 경우 사용할 수 있는 배열은 [16, 32, 64, 96, 128, 160, 192, 224, 235]입니다. 다음 그림에서는 위에 설명한 그래디언트 경사를 보여 줍니다.
그래디언트에서 색상의 분사는 blurX
, blurY
, strength
및 quality
속성의 값과 ratios
값에 따라 달라집니다.
구현
public function get ratios():Array
public function set ratios(value:Array):void
오류
TypeError — 설정 중인 Array가 null입니다.
|
관련 API 요소
strength | 속성 |
type | 속성 |
type:String
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9 |
경사 효과의 배치를 나타냅니다. 다음과 같은 BitmapFilterType 상수 값을 가질 수 있습니다.
BitmapFilterType.OUTER
- 객체의 외부 가장자리 경사BitmapFilterType.INNER
- 객체의 내부 가장자리 경사BitmapFilterType.FULL
- 객체의 위쪽 경사
구현
public function get type():String
public function set type(value:String):void
GradientBevelFilter | () | 생성자 |
public function GradientBevelFilter(distance:Number = 4.0, angle:Number = 45, colors:Array = null, alphas:Array = null, ratios:Array = null, blurX:Number = 4.0, blurY:Number = 4.0, strength:Number = 1, quality:int = 1, type:String = "inner", knockout:Boolean = false)
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9 |
지정된 매개 변수를 사용하여 해당 필터를 초기화합니다.
매개 변수distance:Number (default = 4.0 ) — 오프셋 거리입니다. 유효한 값은 0부터 8까지입니다.
| |
angle:Number (default = 45 ) — 각도를 나타냅니다. 유효한 값은 0부터 360까지입니다.
| |
colors:Array (default = null ) — 그래디언트에서 사용하는 RGB 16진수 색상 값의 배열입니다. 예를 들어 빨강은 0xFF0000이고 파랑은 0x0000FF입니다.
| |
alphas:Array (default = null ) — colors 배열에서 해당 색상의 알파 투명도 값의 배열입니다. 배열된 각 요소의 유효한 값은 0부터 1까지입니다. 예를 들어 .25는 투명도 값을 25%로 설정합니다.
| |
ratios:Array (default = null ) — 색상 배분 비율의 배열로, 유효한 값은 0부터 255까지입니다.
| |
blurX:Number (default = 4.0 ) — 수평 흐림 효과의 정도를 나타냅니다. 유효한 값은 0부터 255까지입니다. 흐림 효과가 1 이하이면 원본 이미지가 그대로 복사됩니다. 기본값은 4입니다. 2의 거듭제곱 값(예: 2, 4, 8, 16, 32 등)은 다른 값보다 빠르게 렌더링하도록 최적화되었습니다.
| |
blurY:Number (default = 4.0 ) — 수직 흐림 효과의 정도를 나타냅니다. 유효한 값은 0부터 255까지입니다. 흐림 효과가 1 이하이면 원본 이미지가 그대로 복사됩니다. 2의 거듭제곱 값(예: 2, 4, 8, 16, 32 등)은 다른 값보다 빠르게 렌더링하도록 최적화되었습니다.
| |
strength:Number (default = 1 ) — 인쇄나 분사 강도를 나타냅니다. 값이 클수록 보다 많은 색상이 인쇄되고 경사와 배경 사이의 대비가 보다 뚜렷해집니다. 유효한 값은 0부터 255까지입니다. 값이 0이면 필터가 적용되지 않습니다.
| |
quality:int (default = 1 ) — 필터의 품질입니다. 다음과 같은 BitmapFilterQuality 상수를 사용합니다.
자세한 내용은 | |
type:String (default = "inner ") — 경사 효과의 배치를 나타냅니다. 다음과 같은 BitmapFilterType 상수 값을 가질 수 있습니다.
| |
knockout:Boolean (default = false ) — 녹아웃 효과를 적용할지 여부를 지정합니다. true 값은 객체를 투명하게 채우고 문서의 배경색을 드러냅니다.
|
관련 API 요소
clone | () | 메서드 |
override public function clone():BitmapFilter
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9 |
이 필터 객체의 복사본을 반환합니다.
반환값BitmapFilter — 원본 GradientBevelFilter 인스턴스와 모든 속성이 같은 새 GradientBevelFilter 인스턴스입니다.
|
- 필요한 클래스를 가져옵니다.
- 사각형과 필터를 정의하기 위한 전역 변수를 선언합니다.
- 다음과 같은 기능을 하는 생성자 함수를 만듭니다.
draw()
메서드를 호출합니다. 이 메서드는 Sprite의graphics
속성을 통해 액세스되는 Graphics 클래스의 메서드를 사용하여 회색 사각형을 그립니다.filter
라는 이름의 BitmapFilter 객체를 만들고 이 객체에 필터를 만드는getBitmapFilter()
호출의 반환 값을 할당합니다.myFilters
라는 이름의 새 배열을 만들고filter
를 추가합니다.myFilters
를 GradientBevelFilterExample 객체의filters
속성에 할당합니다. 이것은myFilters
의 모든 필터에 적용되며, 이 경우에는filter
뿐입니다.
package { import flash.display.Sprite; import flash.filters.BitmapFilter; import flash.filters.BitmapFilterQuality; import flash.filters.BitmapFilterType; import flash.filters.GradientBevelFilter; public class GradientBevelFilterExample extends Sprite { private var bgColor:uint = 0xCCCCCC; private var size:uint = 80; private var offset:uint = 50; private var distance:Number = 5; private var angleInDegrees:Number = 225; // opposite 45 degrees private var colors:Array = [0xFFFFFF, 0xCCCCCC, 0x000000]; private var alphas:Array = [1, 0, 1]; private var ratios:Array = [0, 128, 255]; private var blurX:Number = 8; private var blurY:Number = 8; private var strength:Number = 2; private var quality:Number = BitmapFilterQuality.HIGH private var type:String = BitmapFilterType.INNER; private var knockout:Boolean = true; public function GradientBevelFilterExample() { draw(); var filter:BitmapFilter = getBitmapFilter(); var myFilters:Array = new Array(); myFilters.push(filter); filters = myFilters; } private function getBitmapFilter():BitmapFilter { return new GradientBevelFilter(distance, angleInDegrees, colors, alphas, ratios, blurX, blurY, strength, quality, type, knockout); } private function draw():void { graphics.beginFill(bgColor); graphics.drawRect(offset, offset, size, size); graphics.endFill(); } } }
Tue Jun 12 2018, 03:17 PM Z