И в каждой искре столько правды, сколько есть всего
Мне надо в Лазарусе (около Делфи) создать такие закрашенные прямоугольники, чтобы можно их было поворачивать.
Задаю я рандомно 4 точки, вершины прямоугольника, так чтобы у нужных точек Х или У совпадали. Процедура поворота переопределяет точки. Затем перерисовывается фигура.

тут я знаю 2 варианта "рисования"
1)рисую между точками линии. тогда прямоугольник поворачивается нормально, но только закрашивается весь фон.
2)использую процедуру rectangle. такую фигуру легко закрасить, но она определяется только 2 точками - левой верхней и правой нижней. соответственно, считывает новые значения только 2х точек и рисует по ним совсем другой прямоугольник, стороны которого параллельны осям.

ищу способы решения
для 1 случая - как нарисовать произвольную фигуру так, чтобы ее можно было закрасить (ну и повернуть)
для 2 случая - как повернуть всю систему координат.

@темы: проучебное

Комментарии
25.05.2011 в 22:38

Cause two can keep a secret If one of them is dead.
после поворота создавать на месте старых линий линии цвета фона?) Разумеется, сначала создавать линии цвета фона, т.е. закрасить первые, а потом уже осуществлять поворот, чтобы не перекрывались новые.
26.05.2011 в 00:15

все гениальное просто:

Метод FloodFill заполняет область холста, начиная с точки, указанной параметрами Х и Y, используя цвет, заданный параметром Color. Параметр FillStyle определяет способ закрашивания. Возможные значения FillStyle — fsBorder и fsSurface. Значение fsBorder приводит к тому, что закрашивание происходит во всех направлениях до тех пор, пока не будет достигнута граница, указанная параметром Color. Значение fsSurface приводит к тому, что закрашивание продолжается, даже если достигнута граница цвета, определенная параметром Color.

пример синтаксиса :

Canvas.FloodFill(X, Y: Integer; Color: TColor; FillStyle: TFillStyle);

п.с. да я выпендрился)
26.05.2011 в 01:34

И в каждой искре столько правды, сколько есть всего
Тореадорский скрипач , старая фигурка у меня стиралась нормально) это новая неправильно рисовалась) я разобралась:)
Angellik , спасибки за метод :dance2:
26.05.2011 в 01:36

И в каждой искре столько правды, сколько есть всего
Тореадорский скрипач , только я не линии цвета фона рисовала, а все нафиг заливала)

Расширенная форма

Редактировать

Подписаться на новые комментарии