본문 바로가기

Flex

MovieClip을 Bitmap 데이터로 저장하기

  private function mcToBitmap(mc:MovieClip):Array
  {
   var bitmapData:BitmapData = new BitmapData(mc.width, mc.height,true);
   var bitmapArray:Array = [];
   var totalFrame:int = mc.scenes[0].numFrames;
   trace(totalFrame);
   
   for(var i:int=0; i<totalFrame; i++)
   {
    mc.gotoAndStop(i+1);
    bitmapData.draw(mc);
    bitmapArray.push(bitmapData.clone());
    bitmapData.dispose();
   }
   
   return bitmapArray;
  }

 

무비클립을 인수로 받고 각 프레임의 bitmapData를 추출해서 Array로 넘겨준다.

반사이미지 만들어주는 오픈소스를 가져다 썼는데 이놈이 인수를 무비클립만 받는다.. 거기서 반사 이미지까지 만들어진 무비클립을 내쪽에서 처리하려면 다시 비트맵 데이터로 넘겨 받아야 하는경우가 있어서 만들게 됐다.

 

무비클립은 Scene이 한개인놈만 되고.. 안에서 scenes.length로 for문을 한번더 돌리면 모든 씬의 모든 프레임에 있는 데이터를 bitmapData로 가져올수도 있다.

 

뭐 필요한 경우가 있겠지 -ㅅ-;;;;