Actionscript 3 如何将图像保存为PNG格式?
现在我保存为文本格式,我得到一个错误:TypeError:error#1009:无法访问null对象引用的属性或方法。 在SaveImage/onClick()[/Users/VVT/Documents/adobeflashbuilder4.6/SuperDraw/src/SaveImage.as:40] 我想更改我的代码以便保存为PNG格式Actionscript 3 如何将图像保存为PNG格式?,actionscript-3,flash-builder4.5,Actionscript 3,Flash Builder4.5,现在我保存为文本格式,我得到一个错误:TypeError:error#1009:无法访问null对象引用的属性或方法。 在SaveImage/onClick()[/Users/VVT/Documents/adobeflashbuilder4.6/SuperDraw/src/SaveImage.as:40] 我想更改我的代码以便保存为PNG格式 public class SaveImage extends Sprite { private var btnSave:buttonSave;
public class SaveImage extends Sprite
{
private var btnSave:buttonSave;
//private var ba:ByteArray;
private var file:FileReference;
public function SaveImage()
{
// Skapar min knapp.
var btnSave:buttonSave = new buttonSave();
addChild(btnSave);
btnSave.x = 400;
btnSave.y = 440;
btnSave.addEventListener(MouseEvent.CLICK, onClick);
var file:FileReference = new FileReference();
}
private function onClick(evt:MouseEvent):void
{
//var ba:ByteArray = file.encode(bitmapData);
//file.save(file);
file.save("some text. \nsome more text", "actionsnippet.txt");
}
}
您有一个名为
file
的属性,但您正在构造函数的此行中创建并初始化一个同名的局部变量:
var file:FileReference = new FileReference();
别担心,这些错误会发生的。删除var
并键入以消除该空引用错误
file = new FileReference();
为了将图像保存为png,链接中的中提到的库看起来非常有希望。导入库并让它对bitmapdata进行编码:
file.save(PNGEncoder.encode(bitmapData));
好的,这个链接帮了我一点忙。但我仍然无法保存到PNG,使用我的btnSave…希望这有帮助:好的,链接帮助我一点。但我仍然无法保存到PNG,使用我的BTNSave如何安装as3corelib,我一直在测试,我不明白我应该如何安装as3corelib。有人能解释一下/告诉我怎么做吗?@VVTinho我想你必须将它添加到ide中的库路径中
as3corelib.swc
。我从未使用过Flashbuilder,所以我不知道它到底是如何完成的。一种快速而肮脏的方法是将com
目录(在zip文件的src
中找到)复制到项目的根目录中。BitmapData.encode()
也可以对PNG进行编码,并且不需要任何外部库。您还可以使用加载程序
解码PNG。JPEG也受支持。