![]() |
Нарисовать 4-угольник с градиентами от углов
Вложений: 1
Есть BitmapData, на нем надо нарисовать 4-угольник. У каждой вершины есть свой цвет, градиентами которых надо залить всю площадь фигуры. Пример во вложении. Только при его создании использовался обычный линейный градиент, поэтому цвета снизу несовсем такие как надо, а поскольку стороны у нас не параллельны, то линейный градиент тут непригоден.
Причем рисовать желательно быстро, таких полигонов несколько тысяч, выставленных рядом. Но это не главное - гланое точная заливка, надо как можно точнее передать цвет. |
Линейный, в направлении биссектрисы угла с цветом угла, от с альфой [1,0], какого размера незнаю. х 4 угла (4 раза заливаем )
|
Ты хочешь сделать градиент меш. быстрым он не будет в любом случае...
Но например как вриант решения. 1й шаг.Залить все полигоны цветами - средним арифметическим от цветов четырех вершин каждого полигона по RGB. 2й шаг 2 варианта. ваиант а) Исолзовать радиальную заливку со мещенным фокал центром в каждой вершине. радиус и положение заливки должен быть равен радиусу окружности описанной вокруг многоугольника образованного из точек смежных к данной вершине а фокал центр сместить в положение вершины, б) нарисовать туже окружность без градинета с половинным радусом а потом после отрисовки всех окружностей на все изображдение применить блур фильтр. |
Вложений: 1
Цитата:
Цитата:
|
всё там видно. просто площадь занимаемоя конкретным цветом разная. жотого само сабой сабой меньше всего, так как у него угол имеет самое большое отклоение от прямого. у угла в 90 градусов будет самая большая активность.
|
можно рисовать как это делают вот эти товарищи. Создается битмапдата 2x2 с параметром smooth, точки красятся цветами вершин, далее считаются нужные трансформации для битмапа и рисуется на экране через beginBitmapFill. В твоем случае, т.к. полигон четырехугольный, надо разбить его на 2 треугольника и для каждого посчитать свой matrix.
Делаешь 3д движок, да? |
можно попробовать залить дважды линейными градиентами цветов от 1 к 3 и от 2 к 4 с 50% прозрачности во второй раз.
|
тама полигонов несколько тысяч, флэш мувики с альфой очень медленно отрисовывает, у fp сердечный приступ случится =)
на самом деле тот вариант что я описал такое тоже не потянет, на моей тачке рисуется 100-120 полигонов при fps ~ 25, это так для прикидки. |
Цитата:
Цитата:
|
а какая разница?
|
| Часовой пояс GMT +4, время: 02:11. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.