This page was saved using jaction on 2006-09-04 8:33:27.
Address: http://flexdocs.kr/docs/flex2/langref/flash/display/Bitmap.html
Title: flash.display.Bitmap (Flex™ 2 레퍼런스 가이드)  •  Size: 64989
Packageflash.display
Classpublic class Bitmap
InheritanceBitmap Inheritance DisplayObject Inheritance EventDispatcher Inheritance Object
SubclassesFlexBitmap

Bitmap 클래스는 비트 맵 이미지를 나타내는 표시 object를 나타냅니다. 이것들은 flash.display.Loader 클래스에 의해 로드하는 이미지인가,Bitmap() constructor    에 의해 작성하는 이미지입니다.

Bitmap() constructor    을 사용하면, BitmapData object에의 참조를 포함한 비트 맵 object를 작성할 수 있습니다. 비트 맵 object의 작성 후, 친 DisplayObjectContainer 인스턴스의 addChild() Methods 또는 addChildAt() Methods를 사용해 표시 리스트상에 비트 맵을 배치할 수 있습니다.

비트 맵 object의 BitmapData 에의 참조는, translation property 또는 rotation property와 관계없이, 복수의 비트 맵 object로 공유할 수 있습니다. 작성한 복수의 비트 맵 object로 같은 BitmapData object를 참조할 수가 있기 (위해)때문에, 각 표시 object 인스턴스에 관한 BitmapData object의 메모리의 오버헤드를 피하면서, 복수 display object로 동일한 복잡한 BitmapData object를 사용할 수가 있습니다.

비트 맵 object를 사용해 BitmapData object를 화면에 묘화 하려면 , 벡터 렌 다라를 비트 맵 칠해의 셰이프로서 사용하는지, 고속의 픽셀 복사 routine를 사용합니다. 픽셀 복사 routine는 벡터 렌 다라보다 고속으로 가, 사용하려면 , 비트 맵 object에 이하의 특정의 조건이 적용됩니다.

로드하는 비트 맵 object가 놓여져 있는 도메인이, 이미지의 로드에 사용하는 Loader object의 도메인과 다른 경우는, Loader object의 도메인에의 액세스를 허가하는 도메인간 policy 파일이 준비되어 있지 않으면 그 도메인내의 스크립트는 비트 맵 object나 그 property와 Methods에 액세스 할 수 없습니다. 상세한 것에 대하여는, 다음의 주제를 참조해 주세요.

메모: Bitmap 클래스는 InteractiveObject 클래스의 서브 클래스는 아니기 때문에, 마우스 이벤트를 dispatch할 수 없습니다. 그러나, 비트 맵 object를 포함한 표시 object 컨테이너의 addEventListener() Methods를 사용할 수 있습니다.

View the examples

See also

flash.display.Loader
flash.display.BitmapData
표시 아키텍쳐에 대해
비트 맵의 작성과 조작


Public property
 property정의
 InheritedaccessibilityProperties : AccessibilityProperties
이 표시 object의 현재의 accessibility options입니다.
DisplayObject
 Inheritedalpha : Number
지정된 object의 알파 투명도 값을 나타냅니다.
DisplayObject
  bitmapData : BitmapData
BitmapData object가 참조됩니다.
Bitmap
 InheritedblendMode : String
사용하는 브렌드 모드를 지정하는 BlendMode 클래스의 값입니다.
DisplayObject
 InheritedcacheAsBitmap : Boolean
true 로 설정되어 있는 경우, 표시 object의 내부 비트 맵 표현이 Flash Player 에 캐쉬됩니다.
DisplayObject
 Inheritedconstructor : Object
특정의 object 인스턴스의 클래스 object 또는 constructor    함수에의 참조입니다.
Object
 Inheritedfilters : Array
표시 object에 현재 관련지을 수 있고 있는 각 필터 object가 포함되고 있는 인덱스 첨부의 배열입니다.
DisplayObject
 Inheritedheight : Number
표시 object의 높이를 나타냅니다 (픽셀 단위).
DisplayObject
 InheritedloaderInfo : LoaderInfo
이 표시 object가 속하는 파일의 로드 정보를 포함한 LoaderInfo object를 돌려줍니다.
DisplayObject
 Inheritedmask : DisplayObject
호출원 display object는, 지정된 mask object에 의해 마스크 됩니다.
DisplayObject
 InheritedmouseX : Number
마우스 위치의 x 좌표를 나타냅니다 (픽셀 단위).
DisplayObject
 InheritedmouseY : Number
마우스 위치의 y 좌표를 나타냅니다 (픽셀 단위).
DisplayObject
 Inheritedname : String
DisplayObject 의 인스턴스명을 나타냅니다.
DisplayObject
 InheritedopaqueBackground : Object
표시 object가 특정의 배경색으로 불투명한지 어떤지를 지정합니다.
DisplayObject
 Inheritedparent : DisplayObjectContainer
이 표시 object를 포함한 DisplayObjectContainer object를 나타냅니다.
DisplayObject
  pixelSnapping : String
비트 맵 object가 가장 가까운 픽셀에 흡착될지 어떨지를 지정합니다.
Bitmap
 Inheritedprototype : Object
[static] 클래스 또는 함수 object의 prototype object에의 참조입니다.
Object
 Inheritedroot : DisplayObject
로드 된 SWF 파일내 display object의 경우,root property는 그 SWF 파일이 나타내는 표시 리스트의 트리 구조 부분의 맨 위에 있는 표시 object가 됩니다.
DisplayObject
 Inheritedrotation : Number
DisplayObject 인스턴스의 원래의 위치로부터의 회전각을 번단위로 가리킵니다.
DisplayObject
 Inheritedscale9Grid : Rectangle
현재 유효한 확대 / 축소 격자입니다.
DisplayObject
 InheritedscaleX : Number
기준점으로부터 적용되는 object의 수평 스케일 (percentage)을 나타냅니다.
DisplayObject
 InheritedscaleY : Number
object의 기준점으로부터 적용되는 object의 수직 스케일 (percentage)을 나타냅니다.
DisplayObject
 InheritedscrollRect : Rectangle
표시 object의 스크롤 구형의 경계.
DisplayObject
  smoothing : Boolean
비트 맵을 확대 / 축소할 경우에 스무딩 할지 어떨지를 지정합니다.
Bitmap
 Inheritedstage : Stage
표시 object의 스테이지.
DisplayObject
 Inheritedtransform : Transform
표시 object의 매트릭스, 칼라 변환, 픽셀 경계에 관계하는 property를 가지는 object입니다.
DisplayObject
 Inheritedvisible : Boolean
표시 object가 가시인가 어떤가를 나타냅니다.
DisplayObject
 Inheritedwidth : Number
표시 object의 폭을 나타냅니다 (픽셀 단위).
DisplayObject
 Inheritedx : Number
친 DisplayObjectContainer 의 로컬 좌표를 기준으로 한 DisplayObject 인스턴스의 x 좌표를 나타냅니다.
DisplayObject
 Inheritedy : Number
친 DisplayObjectContainer 의 로컬 좌표를 기준으로 한 DisplayObject 인스턴스의 y 좌표를 나타냅니다.
DisplayObject
Public Methods
 Methods정의
  Bitmap (bitmapData:BitmapData = null, pixelSnapping:String = "auto", smoothing:Boolean = false)
지정된 BitmapData object를 참조하도록(듯이) 비트 맵 object를 초기화합니다.
Bitmap
 InheritedaddEventListener (type:String , listener:Function , useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
event listener objects를 EventDispatcher object에 등록해, listener가 이벤트의 통지를 받도록(듯이) 합니다.
EventDispatcher
 InheriteddispatchEvent (event:Event ):Boolean
이벤트를 event 플로우(flow)에 dispatch합니다.
EventDispatcher
 InheritedgetBounds (targetCoordinateSpace:DisplayObject ):Rectangle
targetCoordinateSpace object의 좌표계를 기준으로 해, 표시 object의 area를 정의하는 구형을 돌려줍니다.
DisplayObject
 InheritedgetRect (targetCoordinateSpace:DisplayObject ):Rectangle
셰이프상의 선을 제외해,targetCoordinateSpace Parameters에 의해 정의된 좌표계에 근거해, 표시 object의 경계를 정의하는 구형을 돌려줍니다.
DisplayObject
 InheritedglobalToLocal (point:Point ):Point
point object를 스테이지 (글로벌) 좌표로부터 표시 object의 (로컬) 좌표로 변환합니다.
DisplayObject
 InheritedhasEventListener (type:String ):Boolean
EventDispatcher object에, 특정의 event 타입에 대해서 등록된 listener가 있을지 어떨지를 확인합니다.
EventDispatcher
 InheritedhasOwnProperty (name:String ):Boolean
object로 지정된 property가 정의되고 있는지 어떤지를 나타냅니다.
Object
 InheritedhitTestObject (obj:DisplayObject ):Boolean
표시 object를 평가해,obj 표시 object와 중복 또는 교차할지 어떨지를 조사합니다.
DisplayObject
 InheritedhitTestPoint (x:Number , y:Number , shapeFlag:Boolean = false):Boolean
표시 object를 평가해,xy Parameters로 지정된 포인트와 중복 또는 교차할지 어떨지를 조사합니다.
DisplayObject
 InheritedisPrototypeOf (theClass:Object ):Boolean
Object 클래스의 인스턴스가, Parameters로서 지정된 object의 prototype 체인내에 있을지 어떨지를 나타냅니다.
Object
 InheritedlocalToGlobal (point:Point ):Point
point object를 표시 object의 (로컬) 좌표로부터 스테이지 (글로벌) 좌표로 변환합니다.
DisplayObject
 InheritedpropertyIsEnumerable (name:String ):Boolean
지정된 property가 존재해, 열거 가능한가 어떤가를 나타냅니다.
Object
 InheritedremoveEventListener (type:String , listener:Function , useCapture:Boolean = false):void
EventDispatcher object로부터 listener를 삭제합니다.
EventDispatcher
 InheritedsetPropertyIsEnumerable (name:String , isEnum:Boolean = true):void
루프 처리에 대한 다이나믹 property의 가용성을 설정합니다.
Object
 InheritedtoString ():String
지정된 object의 string 표현을 돌려줍니다.
Object
 InheritedvalueOf ():Object
지정된 object의 원시적치를 돌려줍니다.
Object
 InheritedwillTrigger (type:String ):Boolean
지정된 event 타입에 대해, 이 EventDispatcher object 또는 그 조상에게 event listener가 등록되어 있는지 어떤지를 확인합니다.
EventDispatcher
이벤트
 이벤트일람정의
 Inheritedactivate Flash Player 가 operating system의 포커스를 취득해, 액티브하게 되었을 때에 dispatch됩니다. DisplayObject
 Inheritedadded 표시 object가 표시 리스트에 추가되었을 때에 dispatch됩니다. DisplayObject
 Inheriteddeactivate Flash Player 가 operating system의 포커스를 잃어, 비액티브하게 되었을 때에 dispatch됩니다. DisplayObject
 InheritedenterFrame 재생 헤드가 새로운 프레임에 들어갈 때 dispatch됩니다. DisplayObject
 Inheritedremoved 표시 object가 표시 리스트로부터 삭제 되려고 하고 있을 때 dispatch됩니다. DisplayObject
 Inheritedrender 표시 리스트가 갱신 및 렌더링 되려고 하고 있을 때 dispatch됩니다. DisplayObject
property의 상세
bitmapDataproperty
bitmapData:BitmapData   [read-write]

BitmapData object가 참조됩니다.

Implements
    public function get bitmapData():BitmapData
    public function set bitmapData(value:BitmapData ):void
pixelSnappingproperty 
pixelSnapping:String   [read-write]

비트 맵 object가 가장 가까운 픽셀에 흡착될지 어떨지를 지정합니다. PixelSnapping 클래스에는 정의 값이 들어옵니다.

Implements
    public function get pixelSnapping():String
    public function set pixelSnapping(value:String ):void
smoothingproperty 
smoothing:Boolean   [read-write]

비트 맵을 확대 / 축소할 경우에 스무딩 할지 어떨지를 지정합니다. true 인 경우, 비트 맵은 확대 / 축소시에 스무딩 됩니다. false 인 경우, 비트 맵은 확대 / 축소시에 스무딩 되지 않습니다.

Implements
    public function get smoothing():Boolean
    public function set smoothing(value:Boolean ):void
constructor    의 상세
Bitmap()constructor   
public 함수 Bitmap(bitmapData:BitmapData = null, pixelSnapping:String = "auto", smoothing:Boolean = false)

지정된 BitmapData object를 참조하도록(듯이) 비트 맵 object를 초기화합니다.

Parameters
bitmapData:BitmapData (default = null) — BitmapData object가 참조됩니다.
 
pixelSnapping:String (default = "auto") — 비트 맵 object가 가장 가까운 픽셀에 흡착될지 어떨지를 나타냅니다.
 
smoothing:Boolean (default = false) — 비트 맵을 확대 / 축소할 경우에 스무딩 할지 어떨지를 나타냅니다. 예를 들어, 다음의 예는 같은 비트 맵을 3 배로 확대했을 경우에,smoothingfalse 로 설정한 것 (왼쪽)와 true 로 설정한 것 ( 오른쪽)입니다.

Examples

다음의 예에서는, BitmapExample 클래스를 사용해, 이미지 "Image.gif" 를 디폴트의 위치 (x = 0, y = 0)에 있는 DisplayObject 에 로드합니다. 계속되어, "Image.gif" 의 복사를 원의 이미지의 오른쪽으로 배치합니다. 이 복사에서는, threshold() Methods를 사용한 테스트에 합격한 픽셀에 새로운 색이 적용됩니다. 여기에서는 이하의 순서를 실행합니다.
  1. property url 를 작성합니다. 이것은 이미지 파일의 장소와 이름입니다.
  2. 클래스 constructor    이 configureAssets() Methods를 호출합니다. 계속되어, 이 Methods에서는 completeHandler() Methods를 경유해 제공되는 정보가 출력됩니다.
  3. configureAssets() 가 Loader object를 작성합니다. 이것은,completeHandler() 가 이미지의 조작을 완료했을 때에 dispatch되는 event listener를 인스턴스화합니다.
  4. 다음에,buildChild() Methods가 URLRequest object 의 새로운 인스턴스 request 를 작성해, 파일명과 장소를 인식시키기 위해서(때문에) url 를 건네줍니다.
  5. request object가 loader.load() Methods에게 건네집니다. 이 Methods에 의해, 이미지가 표시 object를 경유해 메모리에 로드 됩니다.
  6. 다음에 이미지가 표시 리스트에 배치되어 이미지는 즉시 화면의 좌표 x = 0, y = 0 에 표시됩니다.
  7. 계속되어,completeHandler() Methods로, 다음의 처리가 실행됩니다.
    1. 2 번째의 Loader object와 Bitmap object를 작성합니다. Bitmap object는, 이 Loader object로 Bitmap object를 작성합니다.
    2. 2 번째의 Bitmap object duplicate 를 작성해, duplicateImage() Methods를 호출해, 원의 이미지의 복제를 작성합니다.
    3. BitmapData object를 작성해,duplicate object의 BitmapData object에 할당합니다.
    4. 원의 이미지와 같은 좌표, 폭, 높이로 초기화된 새로운 Rectangle object를 작성합니다.
    5. 새로운 Point object를 작성합니다. 디폴트에서는 x = 0, y = 0 에 작성됩니다.
    6. 다음에 나타내는 변수를 작성합니다.
      • operation: 해 귀의치가 원의 값이상인 경우에, 새로운 색을 적용합니다.
      • threshold: 각 픽셀의 비교 대상인 값은, 알파 0xCC 의 밝은 회색으로 설정됩니다.
      • color: 해 귀의치의 테스트에 합격한 픽셀로 설정되는 색입니다. 이 경우는 황색입니다.
      • mask: 정반대의 색으로 설정합니다. 이 경우는 투명색의 청색입니다.
      • copySource: false 로 설정됩니다. 이것은, 해 귀의치를 채우지 않았던 경우에, 픽셀치가 복사되지 않는 것을 나타냅니다. 이미지가 복제되어 해 귀의치의 테스트에 합격한 픽셀만이 변경되기 (위해)때문에, 이 값에 의미는 없습니다.
    7. 상기의 변수를 사용해 threshold() Methods를 호출합니다. 결과의 해 귀의치의 등식은 다음과 같이 됩니다. if (current pixel Value & 0x000000FF) >= (0xCCCCCCCC & 0x000000FF) then set pixel to 0xFFFFFF00.

메모 :


package {
    import flash.display.Bitmap;
    import flash.display.BitmapData;
    import flash.display.Loader;
    import flash.display.Sprite;
    import flash.events. *;
    import flash.geom.Point;
    import flash.geom.Rectangle;
    import flash.net.URLRequest;

    public class BitmapExample extends Sprite {
        private var url:String = "Image.gif";
        private var size:uint = 80;

        public function BitmapExample() {
            configureAssets();
        }

        private function configureAssets() :void {
            var loader:Loader = new Loader();
            loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
            loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);

            var request:URLRequest = new URLRequest(url);
            loader.x = size * numChildren;
            loader.load(request);
            addChild(loader);
        }

        private function duplicateImage(original:Bitmap) :Bitmap {
            var image:Bitmap = new Bitmap(original.bitmapData.clone());
            image.x = size * numChildren;
            addChild(image);
            return image;
        }

        private function completeHandler(event:Event) :void {
            var loader:Loader = Loader(event.target.loader);
            var image:Bitmap = Bitmap(loader.content);

            var duplicate:Bitmap = duplicateImage(image);
            var bitmapData:BitmapData = duplicate.bitmapData;
            var sourceRect:Rectangle = new Rectangle(0, 0, bitmapData.width, bitmapData.height);
            var destPoint:Point = new Point();
            var operation:String = ">=";
            var threshold:uint = 0xCCCCCCCC;
            var color:uint = 0xFFFFFF00;
            var mask:uint = 0x000000FF;
            var copySource:Boolean = true;

            bitmapData.threshold(bitmapData,
                                 sourceRect,
                                 destPoint,
                                 operation,
                                 threshold,
                                 color,
                                 mask,
                                 copySource);
        }
        
        private function ioErrorHandler(event:IOErrorEvent) :void {
            trace("Unable to load image: " + url);
        }
    }
}






 

코멘트가 추가되었을 경우, 메일로 받기. | 코멘트 리포트

현재의 페이지: http://flexdocs.kr/docs/flex2/langref/flash/display/Bitmap.html