| 패키지 | flash.filters |
| 클래스 | public final class DisplacementMapFilter |
| 상속 | DisplacementMapFilter BitmapFilter Object |
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
필터 사용은 필터를 적용할 객체에 따라 달라집니다.
filters 속성을 사용합니다. 객체의 filters 속성을 설정해도 객체가 수정되지는 않으며, filters 속성을 지워야 필터를 제거할 수 있습니다. BitmapData.applyFilter() 메서드를 사용합니다. BitmapData 객체에서 applyFilter()를 호출하면 소스 BitmapData 객체와 필터 객체가 사용되고 필터링된 이미지가 생성됩니다.표시 객체에 필터를 적용하면 해당 표시 객체의 cacheAsBitmap 속성 값이 true로 설정됩니다. 모든 필터를 지우면 cacheAsBitmap의 원래 값이 복원됩니다.
필터는 다음 공식을 사용합니다.
dstPixel[x, y] = srcPixel[x + ((componentX(x, y) - 128) * scaleX) / 256, y + ((componentY(x, y) - 128) *scaleY) / 256)
여기서 componentX(x, y)는 (x - mapPoint.x ,y - mapPoint.y)의 mapBitmap 속성에서 componentX 속성 색상 값을 가져옵니다.
필터에 사용된 맵 이미지의 크기를 스테이지 크기에 맞게 조절할 수 있습니다. 객체 자체의 크기가 조절되는 경우 맵 이미지의 크기는 조절되지 않습니다.
이 필터에서는 스테이지의 크기를 조절할 수 있습니다. 그러나 일반 크기 조절, 회전 및 기울임은 지원하지 않습니다. 객체 자체의 크기가 조절되는 경우(scaleX와 scaleY 속성이 1.0 이외의 값으로 설정되는 경우), 필터 효과는 크기가 조절되지 않습니다. 스테이지에서 확대할 때만 크기가 조절됩니다.
참고 사항
| 속성 | 다음에 의해 정의됨 | ||
|---|---|---|---|
| alpha : Number
위치 변경 시 범위를 벗어날 경우 사용할 알파 투명도 값을 지정합니다.
| DisplacementMapFilter | ||
| color : uint
위치 변경 시 범위를 벗어날 경우 사용할 색상을 지정합니다.
| DisplacementMapFilter | ||
| componentX : uint
x 결과의 위치를 변경하기 위해 맵 이미지에 사용될 색상 채널을 보여 줍니다.
| DisplacementMapFilter | ||
| componentY : uint
y 결과의 위치를 변경하기 위해 맵 이미지에 사용할 색상 채널을 보여 줍니다.
| DisplacementMapFilter | ||
![]() | constructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다.
| Object | |
| mapBitmap : BitmapData
위치 변경 맵 데이터를 포함하는 BitmapData 객체입니다.
| DisplacementMapFilter | ||
| mapPoint : Point
맵 이미지의 왼쪽 위 모서리로부터 대상 표시 객체의 왼쪽 위 모서리에 대한 오프셋을 포함하는 값입니다.
| DisplacementMapFilter | ||
| mode : String
필터 모드입니다.
| DisplacementMapFilter | ||
![]() | prototype : Object
[static]
클래스 또는 함수 객체의 프로토타입 객체에 대한 참조입니다.
| Object | |
| scaleX : Number
맵 계산에서 x 위치 변경 결과의 크기를 조절하는 데 사용할 승수입니다.
| DisplacementMapFilter | ||
| scaleY : Number
맵 계산에서 y 위치 변경 결과의 크기를 조절하는 데 사용할 승수입니다.
| DisplacementMapFilter | ||
| 메서드 | 다음에 의해 정의됨 | ||
|---|---|---|---|
|
DisplacementMapFilter(mapBitmap:BitmapData = null, mapPoint:Point = null, componentX:uint = 0, componentY:uint = 0, scaleX:Number = 0.0, scaleY:Number = 0.0, mode:String = "wrap", color:uint = 0, alpha:Number = 0.0)
지정된 매개 변수로 DisplacementMapFilter 인스턴스를 초기화합니다.
| DisplacementMapFilter | ||
|
이 필터 객체의 복사본을 반환합니다.
| DisplacementMapFilter | ||
![]() |
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다.
| Object | |
![]() |
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다.
| Object | |
![]() |
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다.
| Object | |
![]() |
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다.
| Object | |
![]() |
지정된 객체의 문자열 표현을 반환합니다.
| Object | |
![]() |
지정된 객체의 프리미티브 값을 반환합니다.
| Object | |
| alpha | 속성 |
alpha:Number [read-write]
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
위치 변경 시 범위를 벗어날 경우 사용할 알파 투명도 값을 지정합니다. 0.0부터 1.0까지의 정규화된 값이 지정됩니다. 예를 들어, .25는 투명도 값을 25%로 설정합니다. 기본값은 0입니다. mode 속성을 DisplacementMapFilterMode.COLOR로 설정할 경우 이 속성을 사용합니다.
public function get alpha():Number
public function set alpha(value:Number):void
| color | 속성 |
color:uint [read-write]
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
위치 변경 시 범위를 벗어날 경우 사용할 색상을 지정합니다. 유효한 위치 변경 범위는 0.0부터 1.0입니다. 값은 16진수 형식입니다. color의 기본값은 0입니다. mode 속성을 DisplacementMapFilterMode.COLOR로 설정할 경우 이 속성을 사용합니다.
public function get color():uint
public function set color(value:uint):void
| componentX | 속성 |
componentX:uint [read-write]
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
x 결과의 위치를 변경하기 위해 맵 이미지에 사용할 색상 채널을 보여 줍니다. 다음과 같은 BitmapDataChannel 상수 값을 가질 수 있습니다.
BitmapDataChannel.ALPHABitmapDataChannel.BLUEBitmapDataChannel.GREENBitmapDataChannel.RED public function get componentX():uint
public function set componentX(value:uint):void
참고 사항
| componentY | 속성 |
componentY:uint [read-write]
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
y 결과의 위치를 변경하기 위해 맵 이미지에 사용할 색상 채널을 보여 줍니다. 다음과 같은 BitmapDataChannel 상수 값을 가질 수 있습니다.
BitmapDataChannel.ALPHABitmapDataChannel.BLUEBitmapDataChannel.GREENBitmapDataChannel.RED public function get componentY():uint
public function set componentY(value:uint):void
참고 사항
| mapBitmap | 속성 |
mapBitmap:BitmapData [read-write]
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
위치 변경 맵 데이터를 포함하는 BitmapData 객체입니다.
public function get mapBitmap():BitmapData
public function set mapBitmap(value:BitmapData):void
TypeError — 설정 중인 BitmapData가 null입니다.
|
참고 사항
| mapPoint | 속성 |
mapPoint:Point [read-write]
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
맵 이미지의 왼쪽 위 모서리로부터 대상 표시 객체의 왼쪽 위 모서리에 대한 오프셋을 포함하는 값입니다.
public function get mapPoint():Point
public function set mapPoint(value:Point):void
TypeError — 설정 중인 Point가 null입니다.
|
참고 사항
| mode | 속성 |
mode:String [read-write]
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
필터 모드입니다. 다음과 같은 DisplacementMapFilterMode 상수 값을 가질 수 있습니다.
DisplacementMapFilterMode.WRAP - 위치 변경 값을 소스 이미지의 다른 쪽에 래핑합니다.DisplacementMapFilterMode.CLAMP - 소스 이미지의 가장자리에 위치 변경 값을 고정시킵니다.DisplacementMapFilterMode.IGNORE - 위치 변경 값이 범위를 벗어나면 이 위치 변경 값을 무시하고 소스 픽셀을 사용합니다.DisplacementMapFilterMode.COLOR - 위치 변경 값이 이미지 외부에 있으면 color 및 alpha 속성의 값으로 대체합니다. public function get mode():String
public function set mode(value:String):void
TypeError — 설정 중인 문자열이 null입니다.
|
|
ArgumentError — 모드 문자열이 유효한 유형이 아닙니다.
|
참고 사항
| scaleX | 속성 |
scaleX:Number [read-write]
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
맵 계산에서 x 위치 변경 결과의 크기를 조절하는 데 사용할 승수입니다.
public function get scaleX():Number
public function set scaleX(value:Number):void
| scaleY | 속성 |
scaleY:Number [read-write]
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
맵 계산에서 y 위치 변경 결과의 크기를 조절하는 데 사용할 승수입니다.
public function get scaleY():Number
public function set scaleY(value:Number):void
| DisplacementMapFilter | () | 생성자 |
public function DisplacementMapFilter(mapBitmap:BitmapData = null, mapPoint:Point = null, componentX:uint = 0, componentY:uint = 0, scaleX:Number = 0.0, scaleY:Number = 0.0, mode:String = "wrap", color:uint = 0, alpha:Number = 0.0)
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
지정된 매개 변수로 DisplacementMapFilter 인스턴스를 초기화합니다.
매개 변수mapBitmap:BitmapData (default = null) — 위치 변경 맵 데이터를 포함하는 BitmapData 객체입니다.
|
|
mapPoint:Point (default = null) — 맵 이미지의 왼쪽 위 모서리로부터 대상 표시 객체의 왼쪽 위 모서리에 대한 오프셋을 포함하는 값입니다.
|
|
componentX:uint (default = 0) — x 결과의 위치를 변경하기 위해 맵 이미지에 사용할 색상 채널을 보여 줍니다. 다음과 같은 BitmapDataChannel 상수 값을 가질 수 있습니다.
|
|
componentY:uint (default = 0) — y 결과의 위치를 변경하기 위해 맵 이미지에 사용할 색상 채널을 보여 줍니다. 다음과 같은 BitmapDataChannel 상수 값을 가질 수 있습니다.
|
|
scaleX:Number (default = 0.0) — 맵 계산에서 x 위치 변경 결과의 크기를 조절하는 데 사용할 승수입니다.
|
|
scaleY:Number (default = 0.0) — 맵 계산에서 y 위치 변경 결과의 크기를 조절하는 데 사용할 승수입니다.
|
|
mode:String (default = "wrap") — 필터 모드입니다. 다음과 같은 DisplacementMapFilterMode 상수 값을 가질 수 있습니다.
|
|
color:uint (default = 0) — 위치 변경 시 범위를 벗어날 경우 사용할 색상을 지정합니다. 유효한 위치 변경 범위는 0.0부터 1.0입니다. mode가 DisplacementMapFilterMode.COLOR로 설정된 경우 이 매개 변수를 사용합니다.
|
|
alpha:Number (default = 0.0) — 위치 변경 시 범위를 벗어날 경우 사용할 알파 값을 지정합니다. 0.0부터 1.0까지의 정규화된 값이 지정됩니다. 예를 들어, .25는 투명도 값을 25%로 설정합니다. mode가 DisplacementMapFilterMode.COLOR로 설정된 경우 이 매개 변수를 사용합니다.
|
참고 사항
| clone | () | 메서드 |
public override function clone():BitmapFilter
| 언어 버전 : | ActionScript 3.0 |
| Player 버전 : | Flash Player 9 |
이 필터 객체의 복사본을 반환합니다.
반환값BitmapFilter — 원본과 모든 속성이 같은 새 DisplacementMapFilter 인스턴스입니다.
|
draw() 메서드를 호출합니다. graphics는 Sprite를 확장하는 DisplacementMapFilterExample 객체의 속성입니다.createLabel() 메서드를 호출합니다. 이 메서드는 labelText의 값을 표시하는 텍스트 필드를 만들고 이것을 표시 목록에 추가합니다.createFilter() 메서드를 호출하고 이 메서드는 다음 작업을 수행합니다.
filter라는 이름의 변수를 만듭니다.getDisplacementMapFilter() 메서드를 호출하고 반환 값을 filter 변수에 할당합니다.filter를 DisplacementFilterExample 객체(기본 클래스)의 filters 속성으로 전달합니다.getBitmapFilter() 메서드를 사용하여 mapBitmap이라는 BitmapData 객체를 만들고 이 객체에 createBitmapData() 메서드의 결과를 할당합니다. mapBitmap 객체는 다른 변수와 함께 새 위치 변경 맵 필터를 정의합니다.createBitmapData() 메서드를 사용하여 DisplacementMapFilterExample 객체의 현재 내용을 기준으로 새 BitmapData 객체를 만듭니다. bitmapData를 기준으로 새 비트맵을 만들고 해당 비트맵을 스테이지에 추가합니다.
package {
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.BitmapDataChannel;
import flash.display.GradientType;
import flash.display.SpreadMethod;
import flash.display.Sprite;
import flash.filters.BitmapFilter;
import flash.filters.DisplacementMapFilter;
import flash.filters.DisplacementMapFilterMode;
import flash.geom.Matrix;
import flash.geom.Point;
import flash.text.TextField;
public class DisplacementMapFilterExample extends Sprite {
private var bgColor:uint = 0xFFCC00;
private var size:uint = 200;
private var offset:uint = 90;
private var labelText:String = "Watch the text bend with the displacement map";
public function DisplacementMapFilterExample() {
draw();
createLabel();
createFilter();
}
private function createFilter():void {
var filter:BitmapFilter = getBitmapFilter();
filters = new Array(filter);
}
private function getBitmapFilter():BitmapFilter {
var mapBitmap:BitmapData = createBitmapData();
var mapPoint:Point = new Point(0, 0);
var channels:uint = BitmapDataChannel.RED;
var componentX:uint = channels;
var componentY:uint = channels;
var scaleX:Number = 0.5;
var scaleY:Number = -30;
var mode:String = DisplacementMapFilterMode.CLAMP;
var color:uint = 0;
var alpha:Number = 0;
return new DisplacementMapFilter(mapBitmap,
mapPoint,
componentX,
componentY,
scaleX,
scaleY,
mode,
color,
alpha);
}
private function draw():void {
var matrix:Matrix = new Matrix();
matrix.createGradientBox(size, size);
graphics.beginGradientFill(GradientType.RADIAL,
[0xFF0000, 0x0000FF],
[100, 100],
[55, 200],
matrix,
SpreadMethod.PAD);
graphics.drawRect(0, 0, size, size);
}
private function createBitmapData():BitmapData {
var bitmapData:BitmapData = new BitmapData(size, size, true, bgColor);
bitmapData.draw(this, new Matrix());
var bitmap:Bitmap = new Bitmap(bitmapData);
bitmap.x = size;
addChild(bitmap);
return bitmapData;
}
private function createLabel():void {
var tf:TextField = new TextField();
tf.text = labelText;
tf.y = offset;
tf.width = size;
addChild(tf);
}
}
}
이 페이지에 의견 추가되면 전자 메일 알림 받기 | 의견 보고서
현재 페이지: http://livedocs.adobe.com/flash/9.0_kr/ActionScriptLangRefV3/flash/filters/DisplacementMapFilter.html