類別
Flickr
朋友的作品
2010-01-09

Flash懶人包:擷取畫面並儲存

許多朋友在做完Flash之後,都會需要截取畫面交差,但擷取畫面的過程複雜,還要開Photoshop處理真的很麻煩,於是最近利用ActionScript 3.0加上Flash Player 10的新功能做出快速抓畫面並儲存的功能。

程式內容

寫在最前面,載入PNG編碼套件 [ActionScript 3.0 library for several basic utilities.]

import com.adobe.images.PNGEncoder;

然後新增按鍵事件

stage.addEventListener(KeyboardEvent.KEY_UP, _capture);

最後當然要新增按鍵處理function

function _capture(e:KeyboardEvent){
    // 如果按下 CTRL + S
    if(e.keyCode == 83 && e.ctrlKey){
        var i:BitmapData = new BitmapData(stage.stageWidth,
                stage.stageHeight);
        i.draw(stage)
        var b:ByteArray = PNGEncoder.encode(i);
        var fr:FileReference = new FileReference();
        // 檔案名稱預設會加上TIME字串,可以視情況修改
        fr.save(b, "Filename-"
                + new Date().time.toString() + ".png");
    }
}

然後呢

當然這個方法有一些小問題。按下CTRL+S之後馬上就跳出的儲存視窗,在場景快速變化,或是手殘太早或是太晚按的時候,很容易出問題。

而且很多人都寫過了,所以下一個改版會新增一個有趣的功能~

發表回應

RSS|COMMENTS RSS|登入|19 QUERIES. 0.219 SECONDS.
COPYRIGHT 2009 CASSATTE.TW. ALL RIGHTS RESERVED.
POWERED BY WORDPRESS