2014-07-19 79 views
0

我想保存我的圖形使用PNG編碼器,我得到兩個錯誤。as3 PNGEncoder錯誤

Scene 1, Layer 'canvas', Frame 2, Line 42, Column 12 1172: Definition PNGEncoder could not be found. 

Scene 1, Layer 'canvas', Frame 2, Line 965, Column 24 1120: Access of undefined property PNGEncoder. 

這裏是所有的代碼循環節約:

 import PNGEncoder;       [Recieves the first error] 


function export():void 
{ 
    var bmd:BitmapData = new BitmapData(board.width, board.height); 

bmd.draw(board); 

var ba:ByteArray = PNGEncoder.encode(bmd); [Recieves the second error] 

var file:FileReference = new FileReference(); 

file.save(ba, "MyDrawing.png"); 
} 


saveButton.addEventListener(MouseEvent.CLICK,save) 


function save(e:MouseEvent):void 
{ 
    export(); 
    } 

我從一個教程這個代碼,所以我不能太相信它格式化的權利。嘖嘖稱PNGEncoder是一個進口,但根據閃光cs3它不是。有人能幫我理清這一點嗎?我標記了部分給我一個錯誤,謝謝。

回答

2

您需要下載PNG Encoder和安裝的Flash知道在哪裏可以找到新的庫(以下過程可以用於任何其他外部下載SWC的,你需要在今後的使用)

1)創建一個名爲Flash_Addons新的文件夾 (路徑將是C:\ Flash_Addons \它只是讓你開始,現在,以後的設置更改爲首選文件夾名稱/位置)

2)下載AS3 CoreLib Zip文件裏(在底部/右側

3「下載ZIP」選項)是一個文件夾(我認爲它稱爲「的as3corelib-0.93」)複製到您的Flash_Addons文件夾,以便它現在一個子文件夾。

4)現在就來告訴閃存哪裏可以找到它。在你的CS得編輯 - >(CTRL + U快捷鍵),並在類別列表中點擊「動作腳本」,然後當顯示時單擊ActionScript 3.0設置
現在您將看到三個框(源路徑/庫路徑/外部路徑)。

(這些下面,單擊「+」添加新條目,然後鍵入路徑,或者單擊文件夾圖標以瀏覽)
源路徑:你想它來添加。C:\ Flash_Addons \
庫路徑:你想它來添加。C:\ Flash_Addons \的as3corelib-0.93 \ LIB
(注:「LIB」文件夾中包含了實際as3corelib.SWC文件,這就是爲什麼我們把直接路徑當你想添加任何新的SWC庫只需添加路徑到條目列表(例如):
C:\ Flash_Addons \ as3corelib-.93 \ lib
C:\ Flash_Addons \ Useful_Library_Folder_of_SWC_file \
等等等等。

現在,您可以導出PNG ..

import com.adobe.images.PNGEncoder; //fixes the errors 

saveButton.addEventListener(MouseEvent.CLICK, save) 

function save(e:MouseEvent):void 
{ export(); } 

function export():void 
{ 
    var bmd:BitmapData = new BitmapData(board.width, board.height); 

    bmd.draw(board); 

    var ba:ByteArray = PNGEncoder.encode(bmd); 
    var file:FileReference = new FileReference(); 

    file.save(ba, "MyDrawing.png"); 

} 
+0

啊非常感謝!效果很好,得到了我想要的確切結果。不知道爲什麼我看到的其他地方沒有提到這個,反正,再次感謝! – user3418126