我認真查看了處處,但無法找到解決方案。 我的應用輕鬆地將UTF字節保存爲iOS和Android允許的緩存位置中的XML文件。AS3/AIR/Mobile - 將位圖保存到文件
但我不能解決如何將Bitmap/BitmapData保存到同一個緩存文件夾中的文件。 創建文件是好的....
_fs.open(_f, FileMode.WRITE);
//What goes in here to save the Bitmap?
_fs.close();
任何幫助,在此將不勝感激。
感謝
UPDATE:代碼如下...
_smallLogo = Bitmap(_loader.content);
//this.addChild(_smallLogo);
var jpg:JPGEncoder = new JPGEncoder(100);
var bd:BitmapData = new BitmapData(_smallLogo.width, _smallLogo.height);
bd.draw(_smallLogo);
var ba:ByteArray = jpg.encode(bd);
//3
_fs.open(_f, FileMode.WRITE);
_fs.writeBytes(ba, 0, ba.length);
_fs.close();
更新 - ANSWERED
//SAVE
_smallLogo = Bitmap(_loader.content);
var jpg:JPGEncoder = new JPGEncoder(100);
var ba:ByteArray = jpg.encode(_smallLogo.bitmapData);
_fs.open(_f, FileMode.WRITE);
_fs.writeBytes(ba, 0, ba.length);
_fs.close();
//OPEN
private function getLogo():void {
var ba:ByteArray = new ByteArray();
_fs.open(_f, FileMode.READ);
_fs.readBytes(ba);
_fs.close();
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, getBitmapData);
loader.loadBytes(ba);
}
private function getBitmapData(e:Event):void {
var decodedBitmapData:BitmapData = Bitmap(e.target.content).bitmapData;
var newBMP:Bitmap = new Bitmap();
newBMP.bitmapData = decodedBitmapData;
this.addChild(newBMP);
}
http://cookbooks.adobe.com/post_Save_a_local_image_file__JPEG_or_PNG__from_an_imag-8406.html – Neil
或http://blog.stroep.nl/2008/09/saving-images-with-air-create-a-wallpaper-using- as3-only /你在找什麼? – mrpyo
感謝您的幫助,但它仍然無法正常工作。 運行3次它可以保存3個不同文件大小的文件,但不顯示圖像... addchild在取消註釋時工作,所以我知道Bitmap有數據。 我的代碼現在在原始問題上 – atomicDroid