Листать PNG с матрицей - PullRequest
       17

Листать PNG с матрицей

1 голос
/ 05 августа 2011

У меня проблема с переключением png в AS3. У меня проблема в том, что когда я переворачиваю изображение, оно не сохраняет прозрачность.

preApply = new BitmapData (Canvas.Bmp.width, Canvas.Bmp.height,true);
preApply.draw(Canvas.Bmp,myMatrix, null, null, null, true);

Есть предложения? Флип работает только он дает ему белый фон. Мне удалось запустить фильтры на одном изображении, и это, кажется, не дает ему белый фон.

Обновление: что-то странное, что я только что обнаружил, если установить цвет для BitmapData, он сохраняет прозрачность.

preApply = new BitmapData (Canvas.Bmp.width, Canvas.Bmp.height,true,0x0000FFFF);

Теперь мой вопрос как-то меняет представление о том, почему это может сработать?

1 Ответ

2 голосов
/ 05 августа 2011

Это просто, значение по умолчанию для четвертого параметра bitmapData - это то, что вы хотите, чтобы оно было изначально заполнено. Поэтому, когда вы не указываете его как прозрачный (который в данном случае также равен 0x000000FF или, по-видимому, 0x0000FFFF), тогда по умолчанию используется белый цвет, и когда вы рисуете уже прозрачное изображение на этом новом непрозрачном, заполненном белым изображением, альфа-канал становится перезаписано белым. Это связано с тем, что команда draw не перезаписывает данные существующего bitmapData с информацией альфа-канала, а только значения RGB.

...