我使用AIR上的bulkloader库来下载图像,然后使用AS3corelib我尝试使用以下方式在本地保存文件:
var byteArray:ByteArray = jpgEncoder.encode( loader.getContent("IMG_0004.JPG") );
stream.writeBytes(byteArray);
stream.close();
但我得到了这个错误:
TypeError:错误#1034:类型强制失败:无法转换 flash.display :: Bitmap @ 8349a81 to flash.utils.ByteArray。
我不知道如何解决这个问题。
答案 0 :(得分:3)
encode
函数想要一个BitmapData
对象,但您要给它一个Bitmap
。
所以你应该能够做到这一点:
var byteArray:ByteArray = jpgEncoder.encode( Bitmap(loader.getContent("IMG_0004.JPG")).bitmapData );
答案 1 :(得分:1)
DomingoSL,所以您的原始概率已经解决,现在您的问题是jpeg编码。是的,标准库中的jpeg编码器非常慢。它是您可以使用的最慢的编码器。 阅读:http://www.bytearray.org/?p=775。提示:阅读所有评论,您将得到无声保存的答案。