Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Скрин (битмапдата) послать на сервер наиболее оптимальным образом (http://www.flasher.ru/forum/showthread.php?t=122633)

JaLav 15.03.2009 16:01

Скрин (битмапдата) послать на сервер наиболее оптимальным образом
 
Здравствуйте
Нужно принтскрин всей флешки послать на сервер
Флешка на весь экран
Делаю битмапдатой снимок, получаю массив цветов пикселей.
Но так много слать получается.
Как послать скрин на сервер наиболее оптимальным образом?
Можно сделать с него png?
Другим способом уменьшить размер отсылаемых данных?

Stargazer 15.03.2009 16:42

Если речь идёт именно об as2 - то нужно использовать сжатие данных, написанное вручную. Лучше, правда, "написанное вручную" не вами лично, а кем-то ещё. Ссылки на неплохие варианты я видел где-то здесь на сайте. Используйте поиск.

А вообще-то, в этой ситуации я бы предложил переходить на as3. Но тут я вам точно не посоветую, потому что as3 только "читаю". Сложных вещей на нём не делал. Если не ошибаюсь - в as3 есть возможность отправлять данные в двоичной форме, а также использовать сжатие или даже конвертировать изображения в сжатый формат.

qazwsx 16.03.2009 07:35

http://www.quasimondo.com/archives/000645.php

JaLav 17.03.2009 17:54

Спасибо.
http://www.quasimondo.com/archives/000645.php
похдодит для случая, если надо слать немного данных (на сервер шлется массив пикселей, закодированный в бейс64, преобразование в пнг делается на сервере)
В моем случае скрин д.б. большой
По этому пришлось использовать as3 (преобразование в пнг делается во флеше)
http://ink.envisionext.com/swf2png/index.php

qazwsx 17.03.2009 21:34

На AS3 никаких проблем естественно нет...

morgenshtern 12.04.2009 01:50

В продолжение темы...
Кто-нибудь пробовал использовать LZW?

Итак, тестю с картинкой 200х150, частично белая, белые пиксели не шлем.
Серв - локальный на апаче, декомпрессор на пхп.
Копрессия на флеше происходит довольно быстро. Видимо, не дольше, чем сбор всех пикселей из битмапдаты)
Но пхп... Мой коре2дуо 6750 на полминуты задумывается при 50% загрузке проца. Но картинку таки выдает... Такие нагрузки явно не для серверных решений )
А самое интересное, что разница в размерах отсылаемых флешей пост-запросов примерно 15-20% (примерно 200к символов без lzw).
Т.е., пока серв тормозит над распаковкой - уже бы 5 раз передали картинку туда сюда без нагрузки серва.
Сжатие LZW себя не оправдало абсолютно...
Вывод - пока ковырялся с ас2 и распоковщиком lzw, уже переписал бы флешку на ас3 ))
Кто-нибудь получал другие результаты со сжатием?

ambuddy 23.05.2009 15:52

Цитата:

Сообщение от JaLav (Сообщение 806240)
По этому пришлось использовать as3 (преобразование в пнг делается во флеше)
http://ink.envisionext.com/swf2png/index.php

Помогите пожалуйста. Я в AS3 не силен. Там в исходнике есть такая строчка:
Код AS3:

var png_image_data:ByteArray = PNGEncoder.encode(data_bmp);

Но при этом я так и не нашел, где импортируется класс "PNGEncoder". Я может ошибаюсь, но вроде чтобы использовать класс, нужно его импортировать предварительно, разве нет??? Или может он где-то не в коде импортируется, а в среде разработки? Или если он в той же папке, что и флэшка, то импортировать его вообще не нужно, чтобы использовать по имени. Пробовал переименовать файл с классом в, например "PNGEncoder1.as", естественно вылезла ошибка RefferenceError.

etc 23.05.2009 15:54

ambuddy, вы внимательно читали статью по ссылке или нет?

iNils 23.05.2009 15:55

ambuddy, это раздел по AS 1/2, а не по AS3

ambuddy 23.05.2009 18:21

Цитата:

Сообщение от iNils (Сообщение 822370)
ambuddy, это раздел по AS 1/2, а не по AS3

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

etc, статью читал. Иначе, как бы я там нашел эту строчку...

Короче как всегда одни нравоучения и ни одного ответа по собственно вопросу. Ну что за форум такой! :(


Часовой пояс GMT +4, время: 10:46.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.