![]() |
Задание цвета пикселам находящимся внутри круга
Здравствуйте.
Хочу сделать инструмент "кисть", которая рисует именно кругами (как базовые кисти в фотошопе) определённого радиуса. По окружности изменять пикселы получается без проблем. Но требуется также заполнить внутреннюю область круга. Как это можно сделать без сильных затрат? |
Я так понял, вы программно пытаетесь закрашивать определенные пиксели.
Нарисуйте круг и отрисуйте его в ваш битмап. |
Кусочек кода покажите что ли, совсем ничего непонятно...
|
Рисование отображаемого объекта в битмапу же есть, там можете хоть круг - хоть звездочку нарисовать.
про это же речь? Код AS3:
|
Да да да. Это. Я тоже об этом думал, но не был уверен. спасибо.
Ещё сразу спрошу, чтобы новую тему не создавать: Если быстро двигать мышку, линия прорисовывается отдельными кругами (постоянно прерывается). Отрисовывание происходит по событию MOUSE_MOVE. Соответственно чем меньше кисть, тем больше эти разрывы заметны. То есть проблема именно в отлавливании события. Видимо оно реагирует недостаточно часто. Пробовал так же делать через ENTER_FRAME с фреймрейтом 120, лучше не стало. В чём может быть проблема? Возможно стоит рисовать так же в промежуточных координатах, которые не были отловлены при перемещении мыши? Или всё-таки есть более оптимальное решение? |
видел простой класс под вашу задачу... BitmapDataEx кажется называется.
|
Вложений: 1
Что это конкретно за класс? Как он работает и что вообще делает?
Вот что имеется на данный момент: |
В самой ОС регистрация мышки с прерываниями.
Можно нарисовать четырех угольник от предыдущего положения мышки до текущего, чтобы как-бы линия была от круга до круга - это если просто кисточка из круга. Или можно по по циклу из кругов нарисовать линию, даже с формулами мороки не будет. Код AS3:
|
глупость, конечно, возможно сморожу... но если кисть должна быть круглой - что мешает просто-напросто рисовать линией нужной ширины, после растрировать? типы концов линий, на сколько помню - настраиваемые, равно как и скругление углов =))
|
Цитата:
Всем известный Paint при рисовании карандашом НЕ опрашивает мышь со скоростью 9000 раз в секунду (это технически невозомжно/не поможет), а рисует линии между последней и новой точкой Если углы у широких линий не достаточно "круглые" - придется применить немного математики и рисовать последнее приращение замкнутым контуром с заливкой |
| Часовой пояс GMT +4, время: 13:03. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.