![]() |
Отправка на сервер png24 с прозрачностью
Приветствую. Есть следующая система:
Через FileReference во флешку загружается изображение, добавляется в displayList, обрезается. Далее через BitmapData.draw() рисуется обрезанное изображение. Затем битмапдата перегоняется в ByteArray через PNG24 ecnoder, этот ByteArray кодируется через Base64 и отправляется на сервер. Проблема в следующем: после приёма изображения сервером в случае, когда должна быть прозрачность, её нет. Если в конструкторе битмапдаты не задать цвет fillColor, прозрачности нет ни во флеше, ни на сервере. Если задать этот цвет, то во флеше прозрачность есть, а в файле на сервере её нет. Возможно ли решить эту проблему? |
Раскодируйте из декодера и посмотрите во флэш - есть прозрачность? Если нет - декодер кривой, менять. Раскодируйте из Base64 - есть прозрачность?...
|
Код AS3:
|
Цитата:
Цитата:
|
Цитата:
Код AS3:
|
Код AS3:
Дело в том, что во флеше то всё нормально, а после отправки на сервер прозрачности нет. Может косяк в серверной части? |
Попробуйте полученный ByteArray сохранить не загружая на сервер и посмотреть, сохранит ли он нормальный пнг (возможно полученный пнг можно нормально раскодить только этим декодером, т.е. он кривой). Если нет - смотреть на раскодировние у пхп. Вообще попробуйте декодер сменить, в нём что-то не то, по-моему.
BitmapData.draw() - не убиват прозрачность, делает ровно то, что написано, рисует поверх не перерисовывая альфу, а нормально складывая. Если у вас fillColor без прозрачности, то ясен пень потом непрозрачное изображение получится. BlendMode.ALPHA не рисует цвет вообще) Им как раз можно перерисовать альфу. |
Цитата:
Цитата:
|
Цитата:
Может, в пхп файл в текстовом режиме открыли или чо ) |
| Часовой пояс GMT +4, время: 23:36. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.