Flash Скриншот - PullRequest
       19

Flash Скриншот

1 голос
/ 18 ноября 2008

Мы пытаемся отправить изображение большого SWF-файла на сервер, чтобы отправить его по почте, и у нас возникли некоторые проблемы с временем передачи.

SWF составляет около 900px x 600px и ограничен AS2, поэтому мы использовали этот класс Bitmap Exporter. Мы пытались использовать несколько разных способов передачи данных; base10, base36 и base128, но никто из них не отправит файл в любое время.

Сейчас мы имеем дело с 60-120 секундами на изображение, что недопустимо.

У кого-нибудь есть советы по работе с этим классом или другим по отправке больших растровых данных на сервер с flash?

Спасибо за ваше время.

Ответы [ 5 ]

1 голос
/ 19 ноября 2008

Причина, по которой вы получаете такое большое время загрузки, заключается в том, что изображение практически не сжимается (или совсем не зависит от того, как реализован класс). 900 на 600 пикселей при 16 битах на дюйм (или что там сейчас используется во флэш-памяти) составляет примерно 1,5 МБ необработанных данных.

Я сомневаюсь, что есть какие-либо полезные библиотеки сжатия для AS2, но может быть возможным путем.

Самый простой способ уменьшить изображение на стороне клиента - это уменьшить разрешение. Используете ли вы полное разрешение, когда оно достигает сервера? Если нет, то это может быть возможным способом.

(Полагаю, вы знаете, что с AS3 было бы намного проще, тогда вы могли бы без особых усилий сжать все изображение в формате jpeg на стороне клиента, но я полагаю, что остальная часть вашего приложения AS2 делает это несколько спорным точка)

0 голосов
/ 01 апреля 2009

Просто быстрый перелет и ссылка - http://www.gskinner.com/blog/archives/2006/03/saving_bitmapda.html

edit - это тоже может быть полезно! http://www.5etdemi.com/blog/archives/2006/10/the-ultimate-as2-bitmapdata-saving-solution/

Грант Скиннер предлагает уменьшить выборку данных изображения до меньшей цветовой палитры, а затем немного сжать во время выполнения (он склонялся к сжатию строк UTF-8 и затем обрабатывал преобразование изображений в другом месте, я представляю сервер)

Ссылка UltimateBrent на библиотеку сжатия JPEG звучит как хорошая, если не технически сложная идея.

проблема глубины цвета поддона? сжатие с потерями?

Можете ли вы отправить кучу переменных на сервер, воссоздать образ на локально работающем SWF, а затем экспортировать его туда? или просто слишком много переменных (как в программе для рисования)? Например, если вы создаете свой собственный аватар, вы можете превратить настройки в XML и сгенерировать изображение на сервере. Dunno!

0 голосов
/ 04 декабря 2008

Есть пара хороших классов сжатия JPEG для as3, один из которых я использую как googles: http://code.google.com/p/as3corelib/

Возможно, вы сможете перенести это на as2 ...

0 голосов
/ 20 ноября 2008

Возможно, вы захотите реализовать простой алгоритм RLE в AS2, если он еще не существует, для сжатия растрового изображения. Предполагая, что у вас есть хорошие векторные элементы сплошного цвета, RLE должен обеспечить довольно хорошее сжатие.

0 голосов
/ 19 ноября 2008

Вы также можете попробовать использовать amfphp, потому что он позволяет двоичную сериализацию при отправке данных на сервер.

...