用過Flash的朋友都知道,無論是透過外部載入圖檔,或是直接從元件庫讀取圖檔,並拖拉到場景中,再經由變形工具,加以縮小放大或旋轉變形後,便可發現原本平滑細緻的圖片產生了鋸齒邊緣。
然而網路上也有不少的作法,但大部分都是採用類別檔的方式,並引用類別檔內的屬性,來完成圖像的平滑化,但今天梅干桑並不是要使用此方法,而是用一個更簡易的作法,只要加入一行的語法即可作到圖像平滑的處理。
平滑處理AS3語法
var request:URLRequest=new URLRequest(“demo.jpg”);
var loader:Loader=new Loader();
loader.load(request);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,completeHandler);
loadmc.addChild(loader);
//縮放&旋轉
loadmc.scaleX=0.7;
loadmc.scaleY=0.7;
loadmc.rotation = 33;
function completeHandler(event:Event):void {
var bmpData:BitmapData=new BitmapData(loader.width,loader.height);
bmpData.draw(loader);
var bmp:Bitmap=new Bitmap(bmpData);
bmp.x=300;
bmp.y=-200;
//平滑處理
bmp.smoothing = true;
loadmc.addChild(bmp);
}
[範例預覽] [範例下載]