![]() |
BitmapData: искажение цвета при использовании метода draw с матрицей трансформации
Доброго денечка!
Налетел на следующие вилы при повороте битмапы: 1 вариант Код AS3:
итого: на входе вертикальная линия цвета 0xff0000, на выходе горизонтальная цвета 0xff0000 2 вариант все тоже самое только Код AS3:
--------------- итого: на входе горизонтальная линия цвета 0xff0000, на выходе вертикальная цвета 0xbf0000 Если увеличить height во втором варианте хотя бы до 2 pix, то цвет до и после поворота остается неизменным. Есть ли выход избежать изменения цвета с сохранением width/height значений указанных в обоих вариантах? |
Код AS3:
|
как быть с матричной трансформацией?
|
Код AS3:
|
i.o. Спасибо :)
К сожалению этот способ поворачивает картинку только туда\сюда, т.е. 0° -> 90° -> 0° -> ... Интересно отчего через матрицу трансформаций и draw такие искажения выскочили. |
А Вы пробовали не сдвигать на полпикселя?
В любом случае при повороте НЕ на 90° цвет будет искажен. Но надо еще смутинг потестить. |
Wolsh прав, если не кратно 90°, то искажения в любом случае будут. Что мешает использовать "ручной" проход при повороте, кратном 90°, а при остальных - использовать draw?
|
поворот всегда кратен 90° и draw без сглаживания
почему тогда при width=1 height=10 искажений не возникает? в случае "ручного" поворота придется хранить и передавать требуемый угол поворота, что не очч хочется :( |
Цитата:
|
матрице всегда строго задается угол в 90 градусов, и матрица не передается в метод поворота
реализовано это одним статическим методом класса Код AS3:
|
| Часовой пояс GMT +4, время: 20:20. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.