Actionscript 3 as3 PNGEncoder错误
我试图使用PNG编码器保存我的图形,但我得到两个错误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. 以下是所有代码:
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");
}
啊,非常感谢!效果很好,得到了我想要的确切结果。不知道为什么我看的其他地方没有提到这一点,无论如何,再次感谢!