2009-09-28 3 views
4

Возможно ли сохранить изображение в SharedObject во Flash? Было бы неплохо, если бы это сработало. Мне нужно «хранить» изображения локально, но, похоже, это не поддерживается Flash ... Поэтому я хотел бы поместить эти изображения в SharedObject, который можно сохранить ... но работает ли он с изображениями?Можно ли сохранять изображения в SharedObject Flash?

Я попробовал его с Bitmap, но если я хочу, чтобы прочитать и добавить его на сцену, это говорит о том, что объект не может быть преобразовано в растр ...

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-плеер 10, класс flash.net.FileReference может вам помочь. Используя метод save(), когда вы готовы записать ByteArray вашего bitmapData на диск, вы сможете сохранить копию на свой диск. –

ответ

10

В этом случае перед установкой общего объекта вам необходимо записать свой Bitmap в ByteArray (другими словами - двоичные данные). Затем вам нужно прочитать его из ByteArray в растровое изображение, когда вы его извлечете. Вот быстрый образец, мы надеемся, поможет вам двигаться в правильном направлении:

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

+0

Хм это немного медленный, но он работает ^^ приятно! спасибо! – Hank

+0

также не стоит ничего, что вам не нужно кодировать в jpeg для этого, поскольку вы можете создать ByteArray с BitmapData.getPixels() ... хотя я не смог заставить его работать на 100% должен быть теоретически возможен – Daniel

3

Не забудьте, общий объект имеет ограниченный размер (100Кб по умолчанию)

+0

Он также создает то, что я назвал бы ужасным опытом для пользователя, с запутанным диалоговым окном Flash Player, который появляется, запрашивая разрешение на увеличение локального хранилища. –

+0

Неверно, что он имеет предел 100 кб. Он имеет предел по умолчанию 100 кбайт, который может быть увеличен с помощью вышеупомянутого запутанного всплывающего окна. – Tom

1

изображений в/из SharedObject.data - простой, бесплатный и готовый к использованию класс, который включает в себя полные события SharedObject и логику состояния: Images to/from SharedObject.data

Смежные вопросы