|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Dec 2010
Адрес: Ярославль
Сообщений: 1,255
|
Отправка на сервер png24 с прозрачностью
Приветствую. Есть следующая система:
Через FileReference во флешку загружается изображение, добавляется в displayList, обрезается. Далее через BitmapData.draw() рисуется обрезанное изображение. Затем битмапдата перегоняется в ByteArray через PNG24 ecnoder, этот ByteArray кодируется через Base64 и отправляется на сервер. Проблема в следующем: после приёма изображения сервером в случае, когда должна быть прозрачность, её нет. Если в конструкторе битмапдаты не задать цвет fillColor, прозрачности нет ни во флеше, ни на сервере. Если задать этот цвет, то во флеше прозрачность есть, а в файле на сервере её нет. Возможно ли решить эту проблему? |
|
|||||
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
Раскодируйте из декодера и посмотрите во флэш - есть прозрачность? Если нет - декодер кривой, менять. Раскодируйте из Base64 - есть прозрачность?...
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают. |
|
|||||
Регистрация: Dec 2010
Адрес: Ярославль
Сообщений: 1,255
|
Цитата:
Как-то подругому мою задачу решить можно? |
|
|||||
Цитата:
__________________
Дебаггер не предлагать |
|
|||||
Регистрация: Dec 2010
Адрес: Ярославль
Сообщений: 1,255
|
При инстанцировании BitmapData третий параметр конструктора должен быть равен true, а четвёртый - 0 Дело в том, что во флеше то всё нормально, а после отправки на сервер прозрачности нет. Может косяк в серверной части? |
|
|||||
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
Попробуйте полученный ByteArray сохранить не загружая на сервер и посмотреть, сохранит ли он нормальный пнг (возможно полученный пнг можно нормально раскодить только этим декодером, т.е. он кривой). Если нет - смотреть на раскодировние у пхп. Вообще попробуйте декодер сменить, в нём что-то не то, по-моему.
BitmapData.draw() - не убиват прозрачность, делает ровно то, что написано, рисует поверх не перерисовывая альфу, а нормально складывая. Если у вас fillColor без прозрачности, то ясен пень потом непрозрачное изображение получится. BlendMode.ALPHA не рисует цвет вообще) Им как раз можно перерисовать альфу.
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают. |
|
|||||
Регистрация: Dec 2010
Адрес: Ярославль
Сообщений: 1,255
|
Цитата:
Цитата:
|
|
|||||
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
Отлично, значит передача чудит. Проверяйте цепочку бинарник -> Base64 -> полученный Base64 -> бинарник. От каждого мд5 там посчитать какой надо, какой есть или что. Бинарники должны быть одинаковы.
Может, в пхп файл в текстовом режиме открыли или чо )
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают. |
Часовой пояс GMT +4, время: 18:14. |
|
« Предыдущая тема | Следующая тема » |
Теги |
BitmapData.draw , png24 |
|
|