Хелпикс

Главная

Контакты

Случайная статья





Геометрические фигуры



Геометрические фигуры

В Delphi, так же, как и в других системах программирования с графическими возможностями, существуют так называемые графические примитивы — простейшие объекты, из которых составляется рисунок.

Цвет и стиль линий определяется свойством Canvas.Pen (перо), которое содержит несколько подсвойств. Из них наиболее важны три следующих:

Color — цвет линий;

Width — толщина линий

Style — стиль линии: psClear — нет линий, psSolid — сплошная, psDash — штриховая, psDot — точечная и другие.

По умолчанию линия сплошная, имеет черный цвет и толщину 1 пиксель. Вот эта команда устанавливает красный цвет для линий:

Canvas.Pen.Color := clRed;

Замкнутые фигуры можно залить сплошным цветом или узором прямо при рисовании. Тип заливки определяется кистью — свойством Canvas.Brush, которое имеет два основных подсвойства:

Color — цвет кисти;

Style — стиль кисти: bsClear — нет заливки, bsSolid — сплошная, bsCross — в клеточку и другие.

По умолчанию устанавливается сплошная заливка белым цветом.

При рисовании линий используется понятие текущей позиции рисования (гарфического курсора). Это невидимая точка, из которой начинается рисование очередного отрезка. Метод MoveTo(x,y) перемещает курсор (текущую позицию) в точку с координатами (x,y), а команда LineTo(x,y) рисует отрезок из текущей позиции в точку (x,y). Например, эти команды рисуют отрезок из точки (10,10) в точку (100,100):

Canvas.MoveTo ( 10, 10 );

Canvas.LineTo ( 100, 100 );

После выполнения метода LineTo(x,y) текущая позиция смещается в точку (x,y).

 

Создайте новый проект и сохраните его в папке Графика под именем Graph.bdsproj.

  Добавьте кнопку TButton с надписью «Нарисовать».

 

  Добавьте в описание класса формы процедуру Draw: public procedure Draw; Добавьте в секцию кода implementation реализацию процедуры: procedure TForm1.Draw; begin Canvas.Pen.Color := clBlue; Canvas.MoveTo(0,0); Canvas.LineTo(100,100); end;
 

Создайте обработчик события OnClick, который вызывает процедуру Draw. Запустите программу и проверьте ее работу.

Хотелось бы избавиться от утомительного написания символов «Canvas.» перед каждой командой рисования. Для этого есть простой способ: использовать оператор with:

with Canvas do begin

...

end;

Программа будет считать, что все обращения внутри этого блока — это обращения к свойствам и методам объекта Canvas.

  Измените код процедуры таким образом: with Canvas do begin Pen.Color := clBlue; MoveTo(0,0); LineTo(100,100); end;

Для рисования прямоугольника используется метод

Canvas.Rectangle ( x1, y1, x2, y2 );

Два противоположных угла этого прямоугольника находятся в точках (x1,y1) и (x2,y2), для контура используются настройки пера (Canvas.Pen), для заливки внутренней части — кисть (Canvas.Brush). Следующий код рисует красный прямоугольник с синей заливкой:

with Canvas do begin

Pen.Color := clRed;

Brush.Color := clBlue;

end;

Чтобы отключит заливку, достаточно установить прозрачную кисть, то есть

Canvas.Brush.Style := bsClear;

Эллипсы (и круги) рисуются с помощью метода Canvas.Ellipse:

Canvas.Ellipse( x1, y1, x2, y2 );

Точки (x1,y1) и (x2,y2) — это противоположные углы прямоугольника, в который вписан этот эллипс.



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.