ウェブリンク経由で画像を表示するAS3コードにUIローダーがあります。ユーザー一度 インターネット接続なしでロードするために、AS3のUILoaderにロードされた画像を保存します。
uiloader1.source = "http://www.mywebsite/image1.jpg";
uiloader2.source = "http://www.mywebsite/image2.jpg";
は、インターネットに接続してアプリを開いて、私は彼がすべてのインターネットに接続せずに、再びそれを開くことができるようにしたいが、まだ画像を表示する可能性を持っていると思います。
は、私のような何かについて考えた:
var savedImage:SharedObject;
savedImage= SharedObject.getLocal("ImagesFolder");
if (monitor.available || savedImage.data.images == "null") {
uiloader1.source = "http://www.mywebsite/image1.jpg";
uiloader2.source = "http://www.mywebsite/image2.jpg";
savedImage.data.loader1 = uiloader1.source;
savedImage.data.loader2 = uiloader2.source;
}
else {
uiloader1.source = savedImage.data.loader1;
uiloader2.source = savedImage.data.loader2;
}
しかし、それは画像のリンクではなく、実際の画像を保存して、それは動作しません。
イメージをファイルに保存するにはどうすればよいですか?uiloader1.source
とuiloader2.source
にロードするにはどうすればよいですか?
EDIT
だから私はそれを試してみた:(まだデスクトップ上ではなく、自分の携帯電話のデバイス上でテスト)動作するようです
uiloader10.source = "http://www.myWebsite/image1.jpg";
uiloader10.addEventListener(Event.COMPLETE, completeHandler);
function completeHandler(event:Event):void {
var bitmapData:BitmapData = new BitmapData(uiloader10.width,uiloader10.height);
bitmapData.draw(uiloader10);
var jpgencoder:JPGEncoder = new JPGEncoder(100);
var mybyte:ByteArray = jpgencoder.encode(bitmapData);
var myfile:FileReference = new FileReference();
myfile.save(mybyte,"test.jpg");
}
。
1 /しかし、私はAIRアプリケーションのためにそれを行うべきではないと思いますか? もっと「アプリの互換性」を持たせるために変更する必要のあるコードを教えてください。それが格納もちろんUnhandled ioError:. text=Error #2035: URL Not Found. URL: app:/test.jpg
1. ** AIR **のためにあなたが公開する場合 - ** AIRのために行く**、それはより多くの機能を備えています。そして、ちょっとした努力のために? Google> air save file>最初のリンク。 2.ファイルURLは「app:/test.jpg」ではないので、どこに保存したのかはわかりません。おそらくあなたは** FileReference.name **(ファイルを保存した後のもの)と** File.applicationDirectory.nativePath **を比較する必要があります。 – Organis