2009-03-31 5 views
15

플래시에서는 BitmapData 객체를 사용하여 비트 맵을 RAM에 저장할 수 있으므로 나중에 beginBitmapFill() 메서드를 사용하여 MovieClip에 그릴 수 있습니다.어떻게 비트 맵 파일을 BitmapData 객체로로드합니까?

외부 비트 맵 파일 (.jpg)을 BitmapData 객체로로드하는 방법은 무엇입니까?

AS3 코드도 도움이됩니다.

+2

코튼 대신 자신의 답을 왜 쓰는지 이해가 안됩니다. –

+0

나는 AS2 솔루션을 원했기 때문에. 코튼은 AS3입니다. –

답변

41

AS3 코드를 참조하십시오
로드 라이브러리에 이미지 (파일 -> 가져 오기 -> 라이브러리).
라이브러리 브라우저에서 마우스 오른쪽 버튼을 클릭하고 "특성"을 클릭하면 X 축 Y 픽셀임을 알 수 있습니다.
"고급"탭을 엽니 다.
"액션 스크립트 내보내기"를 선택하십시오.

import flash.display.BitmapData; 
import flash.display.Bitmap; //needed? 
.......... 
var myPic:BitmapData = new myImg(X,Y); 
+0

그냥 메모. 이 경우 URLLoader를 사용할 수 없습니다. – Nande

+0

다른 메모. Loader는 비트 맵에 정보를 추가하므로'event.target.content'에서 직접'name'과 같은 속성을 변경하려고합니다. 그러나 OP가 새로운 비트 맵을 만드는 것이 좋습니다. – Nande

5

MovieClip에 외부 파일 (.jpg)을로드하고로드 될 때까지 기다려야합니다.

그런 다음 외부 파일이 포함 된 MovieClip의 스냅 샷을 BitmapData 객체로 가져옵니다.

myBitmap = new BitmapData(myMC._width, myMC._height,true,0x00FFFFFF) 

myBitmap.draw(myMC) 

PNG 파일을로드하고 bitmapData를

var bitmapData:BitmapData; 

var loader:Loader = new Loader(); 
    loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete); 
    loader.load(new URLRequest("../lib/img.png")); 

function onComplete (event:Event):void 
{ 
    bitmapData = Bitmap(LoaderInfo(event.target).content).bitmapData; 
} 
9

면에서 첫 번째 게시물로 다스 려 : myImg

액션 스크립트 단계로 내보내기.

사실은 각각의 이미지는 비트 맵 그래서 당신이해야 할 모든면에서 복용

bitmapData = event.target.content.bitmapData 

대신

bitmapData = Bitmap(LoaderInfo(event.target).content).bitmapData; 
+0

아니요, 'LoaderInfo.content'는 DisplayObject입니다. 모든 비트 맵은 DisplayObject이지만 모든 DisplayObject가 비트 맵이 아니므로 캐스트됩니다. 캐스트를 제거하면 ActionScript 언어의 유형 안전 기능을 사용하려고합니다. – Spookbuster

6

입니다 그리고 그것은로드 된 후,이 비트 맵을 표시합니다

import flash.display.Bitmap; 
import flash.display.BitmapData; 

var bitmapData:BitmapData; 
var bmVis:Bitmap; 

var loader:Loader = new Loader(); 
    loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete); 
    loader.load(new URLRequest("put url here")); 

function onComplete (event:Event):void 
{ 
    trace("loaded!"); 
    bitmapData = event.target.content.bitmapData; 
    bmVis = new Bitmap(bitmapData); 
    this.addChild(bmVis); 
}