PDA

Просмотр полной версии : Как сохранить файл через swf


Gh >k
12.01.2007, 11:56
Я создал графический редактор, как можно (или можно ли вообще) создать кнопку которая сохраняет мой рисунок???

toFlash
12.01.2007, 12:14
На сколько я помню можно как то извратиться и сохранить, но не напрямую, а через PHP или др. серверный язык.

vic_
12.01.2007, 13:21
лучшая попытка которую я нашел
http://www.quasimondo.com/archives/000572.php

chingachgoog
12.01.2007, 15:20
лучшая попытка которую я нашел
http://www.quasimondo.com/archives/000572.php

:umnik2:

А кто-нибудь может объяснить общий алгоритм как это сделано?
Типа так (я предполагаю):
Флешка попиксельно считывает матрицу битмапдаты и передает ее в пхп в виде простых переменных (типа позиция пиксела, его цвет и т.п.).
В пхп матрица собирается и кодируется алгоритмом сжатия в нужный формат (jpg) например, и предлагает сохранить его.

etc
12.01.2007, 15:34
Там используются разные алгоритмы, типа Base128, LZW…

KorsaRUS
12.01.2007, 15:37
Он для инета или для локального компа? если инет - пхп. если локально -MDM Zinc

chingachgoog
12.01.2007, 15:49
Там используются разные алгоритмы, типа Base128, LZW…

Это для кодирования в конкретный формат (png, jpg, bmp), да?

А сам алгоритм рисование во флеше -> сохранение файла, как я думаю или по-другому? (я думаю что сборка файла целиком в пхп происходит, а флеш лишь пересылает значения пикселов)

etc
12.01.2007, 15:53
Это для кодирования в конкретный формат (png, jpg, bmp), да?
Нет, это просто такие форматы данных. Там же исходник лежит, возьми, да посмотри.

vic_
12.01.2007, 15:58
да перегоняется в битмап дата, потом убираюся лишние пикселы, сжимается, чтобы меньше информации передавать и отправляет в amfphp gateway. Ресурсов потребляет много, иногда плейер ругается что флэшка зациклилась. Тут подходов два или делать в девятке, где по идее производительность намного выше или передавать исходные данные в векторном виде на сервер где и рендерить рисунок. Но тогда уже без битмапа.

chingachgoog
12.01.2007, 16:10
Исходник гигантский и пока нужды разбираться в нем нет.
Просто хотел понять сам принцип, так сказать ноу-хау. :)

Пока никак не пойму где что генериться.
Где происходит сжатие изображения (во флеш или пхп)? Если во флеше,то это метод битмапдаты или код автора? Что именно передается в пхп и где генериться файл?

etc
12.01.2007, 16:18
Сжатие происходит по одному из тех алгоритмов, что я назвал, а на сервере распаковка, попиксельное создание изображения, потом его сохранение.

Gh >k
12.01.2007, 21:46
Мне нужен не принцип сохранения, а сам код для кнопки,

etc
12.01.2007, 23:17
Ты что, издеваешься, да? Есть исходник, сиди и ковыряй :D
Там не две строчки, между прочим.

vic_
13.01.2007, 01:24
на прошлой неделе было обьявление на actionscript.org, искали человека способного решить эту задачу качественно. Цена вопроса - 1.5k и постоянная работа впоследствии.

Kikasso
13.01.2007, 04:29
Мне нужен не принцип сохранения, а сам код для кнопки,
код для кнопки простой, что-то вродеbtn.onPress = saveIt;
А код для экспорта, сорри, без меня. Там используется технология Rlash Remoting, кстати, чтобы данные передавать бинарно, на серваке нужен как минимум amfphp и GD, remoting для флеша надо инсталлировать, да и у меня этот скрипт выдал ошибку, а я всего лишь раз мазанул кисточкой. Есть еще вариант, если рисовалка простая - просто отсылаешь на сервак xml и там генеришь картинку. Есть еще вариант, вроде в Опере есть такие виджеты и вроде с них можно снять скриншот в png.