![]() |
Мягкая кисть во Флеш-рисовалке
Здравствуйте. Есть небольшая рисовалка, написанная на АС3. Инструмент кисть работает следующим образом: пользователь щелкает мышью, потом с помощью события MouseMove отрисовывается линия от начальной точки к текущим координатам курсора, потом к следующим координатам курсора и т.д. В итоге получается непрерывная кривая (мазок). Цвет и толщина мазков (линии) определяется пользователем. Но дело в том, что хочу сделать возможность настраивать мягкая/твердая кисть (размытые/четкие края мазка как в фотошоп).
Подскажите, пожалуйста, как реализовать такое. |
С помощью drawTriangles(). Создать битмапдату с линейным вертикальным градиентом (верх и низ мягкие, середина сплошная). И рисовать не линию, а полигон из двух треугольников, текстурированных этой битмдатой. Получится линия с мягкими краями. По аналогии начало/конец линии создаются с помощью битмапдат с "пушистыми" полукругами.
|
Не знаю, правильно ли я понял, так как drawTriangles() для меня нечто новое. Но не является ли такая линия тем же что и прямоугольник, залитый градиентом?
|
является да
|
Дело в том, что "отпечаток" кисти - круглой формы. И если рисовать толстую линию с помощью lineTo(), то оба концы у нее будут скругленными (то что мне и надо - так как в других графических редакторах). Но если рисовать треугольниками толстую линию, то концы будут, какбы, квадратными. :o
|
Цитата:
|
Цитата:
|
Можете привести часть кода? Самому интересно.
|
А мне всегда казалось, что лучше всего с этой задачей справляется BlurFilter, наложенный на четкую линию.
|
А правильно ли отрисуется "смягченный" спрайт, с помощью BlurFilter, в Bitmap? Имею в виду: будет ли растровое изображение созданное из Sprite иметь тоже смягченные края?
|
| Часовой пояс GMT +4, время: 23:02. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.