如何将图像保存为PNG格式?

时间:2012-01-07 08:54:51

标签: actionscript-3 flash-builder4.5

现在我保存为文本格式,我收到一个错误:TypeError:错误#1009:无法访问空对象引用的属性或方法。 在SaveImage / onClick()[/ Users / VVT / Documents / Adob​​e Flash Builder 4.6 / SuperDraw / src / SaveImage.as:40]                                                                                                     我想更改我的代码,以便保存为PNG格式吗?

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");
    }
}

1 个答案:

答案 0 :(得分:0)

您有一个名为file的属性,但您在构造函数的这一行中创建并初始化一个具有相同名称的局部变量:

var file:FileReference = new FileReference(); 
不要担心,那些错误会发生。删除var并键入以消除该空引用错误。

file = new FileReference();

要将图像另存为png,as3corelibthis answerquestion中提到的this comment库中的{{3}}看起来非常有前景。导入库并让它对您的bitmapdata进行编码:

file.save(PNGEncoder.encode(bitmapData));