2009-09-28 86 views
4

是否有可能将图像存储在Flash中的SharedObject中?这将是很好,如果它能工作。我需要在本地“存储”图像,但它似乎不被Flash支持...所以我想把这些图像放在一个可以保存的SharedObject中,但是它可以处理图像吗?是否可以将图像存储在Flash的SharedObject中?

我一个位图尝试过,但如果我想读并将其添加到它说,对象不能被转换为位图的舞台......

var image:Bitmap = //some awesome image; 

sharedObject = SharedObject.getLocal("img"); 
sharedObject.data.img = image; 
sharedObject.flush(); 

错误的位置 - >

sharedObject = SharedObject.getLocal("img"); 
addChild(Bitmap(sharedObject.data.img)); 
+0

是否将文件以JPG或PNG格式保存出来?这些数据是否应该在视线之外?如果您使用Flash Player 10,则flash.net.FileReference类可以为您提供帮助。准备好将bitmapData的ByteArray写入磁盘时使用save()方法将允许您将副本保存到磁盘。 – 2009-09-28 17:36:22

回答

10

在这种情况下,您需要在设置共享对象之前将Bitmap写入ByteArray(换句话说 - 二进制数据)。然后,当您检索它时,您需要将它从ByteArray读取到位图中。这里是一个快速样品希望将让你在正确的方向前进:

http://www.kirupa.com/forum/showthread.php?t=306972

+0

嗯这是有点慢,但它的作品^^不错!谢谢! – Hank 2009-09-28 14:27:37

+0

它也不值得你实际上不必编码到jpeg这个工作,因为你可以用BitmapData.getPixels()创建一个ByteArray ...虽然我一直无法使它工作100%应该是理论上可行的 – Daniel 2010-06-02 22:44:38

3

唐`忘记,共享对象具有有限的大小(默认情况下在100Kb)

+0

它也创造了我称之为用户可怕的经历,出现令人困惑的Flash Player对话框,弹出要求增加本地存储的权限。 – 2009-09-28 15:37:21

+0

它不是真的,它有100kb的限制。它具有100kb的默认限制,可以通过上述混淆弹出来增加。 – Tom 2011-07-20 00:46:32

相关问题