Actionscript 3 as3 PNGEncoder错误

Actionscript 3 as3 PNGEncoder错误,actionscript-3,save,Actionscript 3,Save,我试图使用PNG编码器保存我的图形,但我得到两个错误 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. 以下是所有代码:

我试图使用PNG编码器保存我的图形,但我得到两个错误

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是一种进口产品,但根据FlashCS3,它不是。有人能帮我把这件事弄清楚吗?我给零件贴上了标签,这给我带来了一个错误,谢谢。

您需要下载和安装Flash,以知道在哪里可以找到新的库(以下过程可用于您将来需要使用的任何其他外部下载的SWC)

1)创建一个名为Flash\u Addons的新文件夹 (路径应该是C:\Flash\u Addons\现在只是让您开始,稍后将设置更改为首选文件夹名称/位置)

2)下载(底部/右侧的“下载ZIP”选项

3)在Zip中有一个文件夹(我想它叫“as3corelib-.93”),把它复制到你的Flash_Addons文件夹中,所以它现在是一个子文件夹

4)现在告诉Flash在哪里可以找到它。。在您的CS中,编辑-->首选项(CTRL+U快捷键)并单击类别列表中的“ActionScript”,然后在显示时单击ActionScript 3.0设置
现在您将看到三个框(源路径/库路径/外部路径)

(对于以下内容,请单击“+”添加新条目,然后键入路径或单击文件夹图标进行浏览)
源路径:您希望添加它。。C:\Flash\u插件\
库路径:您希望添加它。。C:\Flash\u Addons\as3corelib-.93\lib
(注意:“lib”文件夹包含实际的as3corelib.SWC文件,这就是我们将直接路径放在其中的原因。当您想要添加任何新的SWC库时,只需将路径添加到条目列表中即可(示例):
C:\Flash\u Addons\as3corelib-.93\lib
C:\Flash\u插件\有用的\u库\u文件夹\u的\u SWC\u文件\
等等等等

现在可以导出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"); 

}

啊,非常感谢!效果很好,得到了我想要的确切结果。不知道为什么我看的其他地方没有提到这一点,无论如何,再次感谢!