И в каждой искре столько правды, сколько есть всего
Мне надо в Лазарусе (около Делфи) создать такие закрашенные прямоугольники, чтобы можно их было поворачивать.
Задаю я рандомно 4 точки, вершины прямоугольника, так чтобы у нужных точек Х или У совпадали. Процедура поворота переопределяет точки. Затем перерисовывается фигура.
тут я знаю 2 варианта "рисования"
1)рисую между точками линии. тогда прямоугольник поворачивается нормально, но только закрашивается весь фон.
2)использую процедуру rectangle. такую фигуру легко закрасить, но она определяется только 2 точками - левой верхней и правой нижней. соответственно, считывает новые значения только 2х точек и рисует по ним совсем другой прямоугольник, стороны которого параллельны осям.
ищу способы решения
для 1 случая - как нарисовать произвольную фигуру так, чтобы ее можно было закрасить (ну и повернуть)
для 2 случая - как повернуть всю систему координат.
Задаю я рандомно 4 точки, вершины прямоугольника, так чтобы у нужных точек Х или У совпадали. Процедура поворота переопределяет точки. Затем перерисовывается фигура.
тут я знаю 2 варианта "рисования"
1)рисую между точками линии. тогда прямоугольник поворачивается нормально, но только закрашивается весь фон.
2)использую процедуру rectangle. такую фигуру легко закрасить, но она определяется только 2 точками - левой верхней и правой нижней. соответственно, считывает новые значения только 2х точек и рисует по ним совсем другой прямоугольник, стороны которого параллельны осям.
ищу способы решения
для 1 случая - как нарисовать произвольную фигуру так, чтобы ее можно было закрасить (ну и повернуть)
для 2 случая - как повернуть всю систему координат.
Метод FloodFill заполняет область холста, начиная с точки, указанной параметрами Х и Y, используя цвет, заданный параметром Color. Параметр FillStyle определяет способ закрашивания. Возможные значения FillStyle — fsBorder и fsSurface. Значение fsBorder приводит к тому, что закрашивание происходит во всех направлениях до тех пор, пока не будет достигнута граница, указанная параметром Color. Значение fsSurface приводит к тому, что закрашивание продолжается, даже если достигнута граница цвета, определенная параметром Color.
пример синтаксиса :
Canvas.FloodFill(X, Y: Integer; Color: TColor; FillStyle: TFillStyle);
п.с. да я выпендрился)
Angellik , спасибки за метод