2012-01-07 17 views
0

テキスト形式に保存していますが、エラーが発生しました:TypeError:Error#1009:nullオブジェクト参照のプロパティまたはメソッドにアクセスできません。 at SaveImage/onClick()[/ Users/VVT/Documents/Adob​​e Flash Builder 4.6/SuperDraw/src/SaveImage.as:40] PNG形式に保存できるようにコードを変更したいですか?イメージを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"); 
    } 
} 
+0

http://stackoverflow.com/questions/4211852/as3-png-encoder – AsTheWormTurns

+0

OK、リンクは私を少し助けます。しかし、私はまだbtnSaveを使用してPNGに保存することはできません... – PhatToni

+0

これが助けてくれることを願っています:http://cookbooks.adobe.com/post_Save_a_local_image_file__JPEG_or_PNG__from_an_imag-8406.html – AsTheWormTurns

答えて

0

あなたはfileという名前のプロパティを持って、まだあなたは、コンストラクタのこの行の同じ名前のローカル変数を作成し、初期化されています

var file:FileReference = new FileReference(); 

心配しないで、それらのミスが起こります。 varを削除し、そのnull参照エラーを取り除くために入力します。

file = new FileReference(); 

PNGなどの画像を保存するには、this commentにリンクされquestionthis answerに記載されているas3corelibライブラリは、非常に有望に見えます。ライブラリをインポートし、それはあなたのBitmapDataをエンコードしてみましょう:

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

as3corelibのインストール方法は、私がテストしていて、as3corelibのインストール方法を理解できません。誰かが私にそれを説明する方法を教えてもらえますか? – PhatToni

+0

@VVTinho 'as3corelib.swc'をideのライブラリパスに追加する必要があると思います。私はFlashbuilderを使用したことがないので、どのように正確に行われたのかわかりません。すばやく簡単な方法は、単に 'com'ディレクトリ(zipファイルの' src'にあります)をプロジェクトのルートディレクトリにコピーすることです。 – Kapep

+0

ありがとう、ありがとう、私はそれをしようとするつもりだ... – PhatToni

関連する問題