![]() |
Метод beginGradientFill(). Баг или что то еще...
Здравствуйте уважаемые Форумчане!
У меня есть простой вопрос ответ на который никак не укладывается у меня в голове (наверно я тупой). Однако, мне очень желательно разобраться в этом вопросе. Вот, собственно, сам вопрос: "Известный метод класса MovieClip - beginGradientFill() принимает ряд параметров, два из которых это fillType и interpolationMethod. Так вот передав в метод в качестве fillType строковое значение linear, а в качестве значения interpolationMethod - linearRGB и задав в качестве параметра matrix - матрицу индентичности (по главной диагонали 1) вдруг выясняется, что середина "гигантского градиента" (от -819.2 до 819.2) т.е. в нулевой позиции значение цвета градиента вовсе не 128 (для одноцветного градиента - например, красного)". Если же я выставляю значение interpolationMethod в RGB - градиент становиться вдруг линейным. Что это баг или закономерное поведение метода?!!! |
Хочу код!:)
|
Вложений: 1
Здравствуй iNils!
Выкладываю тестовый код. Обрати внимание на следующее: 1. Клик на крайнем левом пикселе дает значение цвета 0x000000; 2. Клик на крайнем правом пикселе дает значение цвета 0xFF0000; 3. Клик на центральном пикселе дает значение цвета 0xBB0000 (R=0xBB=187), что не соответствует среднему значению цвета между 0 и 255 - 128. Это, собственно, и непонятно, поскольку в параметре interpolationMethod выставлено значение linearRGB. Заранее благодарен! |
Линейный градиент в цифрах как раз дает RGB, а linearRGB - визуально. Что хорошо видно в скринах хелпа.
Код:
import flash.geom.Matrix; |
iNils! Действительно в скринах хелпа видно, что RGB линейный, а linearRGB нелинейный. Но фактически linear означает линейный, а в данном случае он не линейный, а скорее квадратичный.:)
И потом зачем нужно было разработчикам Флеша разделять так называемую линейность градиента на визуальную и та что "в цифрах". Не лучше ли было сделать две константы определяющую вид градиента - первая linearRGB - линейный как "в цифрах" так и визуально, вторая - quadraticRGB, который как в цифрах, так и визульно выглядит как квадратичный. |
Разработчика флеша тут не причем. Это уже исторически сложилось.
|
Ууупс! iNils! Подскажи где про эту историю почитать (желательно на русском) - благодарен буду.
|
| Часовой пояс GMT +4, время: 18:29. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.