之前寫了一篇displayObject轉成bitmap的文章,最近在整理電腦時,將以前做過的測試整理,因此將其轉成工具類別便於日後使用,程式碼如下:
package com.tools.graphics
{
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.DisplayObject;
import flash.display.Loader;
import flash.display.LoaderInfo;
public class LoaderToBitmap
{
/**
*建構式參數使用一個內隱類,避免使用者建立實體,
*因為as3不能使用private給予建構式的關係,
*但是使用者若給予null之後依然會被執行super()的建構式,所以無法避免得很完全。
*/
public function LoaderToBitmap(dontCreate:DontCreate)
{
}
static public function cloneBitmap(display:DisplayObject):Bitmap
{
var bitmap:Bitmap = new Bitmap(cloneBitmapData(display));
return bitmap;
}
static public function cloneBitmapData(display:DisplayObject):BitmapData
{
var bitMapData:BitmapData = new BitmapData(display.width , display.height);
bitMapData.draw(display);
return bitMapData;
}
}
}
class DontCreate
{
public function DontCreate()
{
}
}
//在Flex4 SDK環境下,使用範例