Как сохранить изображение в формате PNG?
Теперь я сохраняю в текстовом формате, и я получил ошибку: 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");
}
}
1 ответ
У вас есть свойство с именем file
Тем не менее, вы создаете и инициализируете локальную переменную с тем же именем в этой строке вашего конструктора:
var file:FileReference = new FileReference();
Не волнуйся, эти ошибки случаются. Удалить var
и введите, чтобы избавиться от этой ошибки нулевой ссылки.
file = new FileReference();
Чтобы сохранить изображение в формате png, библиотека as3corelib, которая упоминается в этом ответе на вопрос, связанный с этим комментарием, выглядит довольно многообещающе. Импортируйте библиотеку и позвольте ей кодировать ваши битовые данные:
file.save(PNGEncoder.encode(bitmapData));