0

现在我保存为文本格式,但出现错误:TypeError:错误#1009:无法访问空对象引用的属性或方法。在 SaveImage/onClick()[/Users/VVT/Documents/Adobe 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");
    }
}
4

1 回答 1

0

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

var file:FileReference = new FileReference(); 

别担心,这些错误会发生。删除varand 类型以消除该空引用错误。

file = new FileReference();

要将图像保存为 png,在此评论中链接的问题的答案中提到的as3corelib库看起来很有希望。导入库并让它对您的位图数据进行编码:

file.save(PNGEncoder.encode(bitmapData));
于 2012-01-07T09:43:26.130 回答