Tôi đã nghiêm túc nhìn khắp mọi nơi nhưng không thể tìm thấy một giải pháp. Ứng dụng của tôi dễ dàng lưu các byte UTF dưới dạng tệp XML trong các vị trí bộ nhớ cache được phép cho cả iOS và Android.AS3/AIR/Điện thoại di động - Lưu bitmap vào tập tin
Nhưng tôi không thể tìm ra cách lưu Bitmap/BitmapData vào một tệp trong cùng một thư mục bộ nhớ cache. Tạo tệp tin là tốt ....
_fs.open(_f, FileMode.WRITE);
//What goes in here to save the Bitmap?
_fs.close();
Bất kỳ trợ giúp nào về điều này sẽ được đánh giá cao.
Cảm ơn
UPDATE: Mã như sau ...
_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();
CẬP NHẬT - TRẢ LỜI
//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
Hoặc http://blog.stroep.nl/2008/09/saving-images-with-air-create-a-wallpaper-using- as3-only/Bạn đang tìm kiếm ở đâu? – mrpyo
Cảm ơn sự giúp đỡ của cả hai nhưng nó vẫn không hoạt động. Chạy 3 lần để lưu 3 tệp với kích thước tệp khác nhau nhưng không hiển thị hình ảnh ... công cụ bổ trợ hoạt động khi không được chú ý, vì vậy tôi biết Bitmap có dữ liệu. Mã của tôi bây giờ là câu hỏi gốc – atomicDroid