PDA

Просмотр полной версии : Программное рисование.


mort
04.10.2002, 09:16
Можно рисовать программно всякие фигуры и заливать их. А можно ли как-нибудь "рисовать" в этих фигурах отверстия? Полупрозрачная фигура поверх другого объекта лишь накладывается сверху со смешиванием цветов. А эффекта пересечения такого, как при "ручном" рисовании не происходит.
Может быть кто-нибудь сталкивался и знает, как сделать или обойти. В принципе, можно постоянно хранить всю фигуру в массиве, а отверстия рассчитывать в этих данных и каждый раз рисовать всю конструкцию заново. Но это, как вы понимаете, медленно. Гораздо проще "вырезать" кусок у уже нарисованной фигуры. Вопрос - как? :confused:

DeliMIter
04.10.2002, 09:40
А ты пробовал логичный вариант

beginFill
внешний контур
внутренний контур
endFill

?

И что там медленно-то?

mort
04.10.2002, 15:04
:)
Мы УЖЕ имеем одну фигуру.
А дырку проделать надо во второй заход, через какое-то время.
А насчет скорости - или мы просто дорисовываем дырку - тот способ, который я ищу, или мы убиваем фигуру и рисуем ее с дыркой заново - что, несомненно, дольше чем просто нарисовать форму дырки.

Вот так-то....

УильямБрэдберри
04.10.2002, 20:58
Оригинал написал(а) mort
Гораздо проще "вырезать" кусок у уже нарисованной фигуры. Вопрос - как? :confused:

что значит "проще"?
в любом случае такой вариант не прокатит

Что в МХ есть фигура? -

массив из точек, между которыми описываются\проводятся с помощью функций безье, или еще как, сами линии.

так, что вертись.

greyshaman
05.10.2002, 16:49
В общем то DeliMIter уже ответил.
Сплайн рисуется по XOR (дырки, дырки в дырках и т.д.) до тех пор пока не вызван endFill. Переход в кадр и endFill ни коим образом не связаны. Всё банально.

mort
07.10.2002, 08:41
Э-э-х. Пятым ощущением предполагал, что никак нельзя.... Ладно, придется медленным способом.
Все равно всем спасибо.