0

CameraRoll addBitmapData()AIR AS3を使用すると、撮影した画像をデバイスの専用メディアライブラリに保存できることを知っています。

ここで質問:その方法で画像を追加するために、アプリ用に別の参照可能なフォルダーを作成する方法はありますか?または、保存したい画像を他の画像から分離しておく方法は他にありますか?

編集:これが私が最終的にそれを達成した方法です:

var imageFile:File = File.documentsDirectory.resolvePath("DCIM/yourfolder/");
if(!imageFile.exists) imageFile.createDirectory();
imageFile = imageFile.resolvePath("yourfile.jpg");

var fileStream:FileStream = new FileStream();
fileStream.open(imageFile, FileMode.WRITE);
fileStream.writeBytes(byteArray);
fileStream.close();
4

1 に答える 1

1

AIRを使用すると、ローカルファイルシステムにアクセスできます。さまざまなAir固有の引数を持つflashネイティブFileクラスを使用して、ダイアログなしでファイルを保存および移動でき、セキュリティ制限がはるかに少なくなります。標準save機能は空気がなくても機能しますが、ダイアログボックスが必要です。

ここの公式ドキュメント:http: //help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/filesystem/File.html

私が書いた古いフォトブースアプリにこれを実装しました...私はそれを掘り下げて、私が持っているものを投稿しようとします。

編集:

まず、ライブラリは次のとおりです。

adobe.air.filesystem.*;
adobe.air.filesystem.events.*;

AIRの実装は次のようになります。

function saveMyFile(){

var imgFile:String 
// however you define your filename;
var f:File=File.desktopDirectory.resolvePath("myfolder/" + imgFile); 
//defines the directory, attaches the filename
var s:FileStream=new FileStream();
//creates the filestream

s.open(f, FileMode.WRITE);
s.writeBytes(jpgStream); 
// in this case jpgStream was bitmapData var compiled from a screenshot
s.close();
}

デスクトップ上のフォルダに移動する必要がありましたが、もっと徹底的な方法で掘り下げることができると確信しています。

于 2013-03-08T19:24:46.087 に答える