СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Программирование. Lazarus. Урок 7.

Категория: Информатика

Нажмите, чтобы узнать подробности

Тема"Изучение графических возможностей  среды программирования."

Просмотр содержимого документа
«Графические возможности Lazarus»

Lazarus - графические методы и процедуры

Lazarus позволяет программисту разрабатывать программы, которые могут выводить графику: схемы, чертежи, иллюстрации.

ХОЛСТ. Canvas – это свойство объекта Form, т.е. холст находящийся на форме, который в свою очередь является объектом типа TCanvas.

Холст состоит из отдельных точек - пикселов. Положение пиксела характеризуется его горизонтальной (X) и вертикальной (Y) координатами. Левый верхний пиксел имеет координаты (0,0). Координаты возрастают сверху вниз и слева направо. Значения координат правой нижней точки холста зависят от размера холста. Размер холста можно узнать, обратившись к свойствам Height и Width объекта на котором происходит рисование.

Карандаш и кисть. Карандашу и кисти, используемым для вывода графики на холсте, соответствуют свойства Реn (карандаш) и Brush (кисть), которые представляют собой объекты типа TPen и TBrush, соответственно.

Методы вычерчивания графических примитивов

ЛИНИЯ. Вычерчивание прямой линии осуществляет метод LinеТо, инструкция вызова которого в общем виде выглядит следующим образом:

Form1.Canvas.LineTo(x2,у2);

Метод LinеТо вычерчивает прямую линию от текущей позиции карандаша в точку с координатами, указанными при вызове метода.

Начальную точку линии можно задать, переместив карандаш в нужную точку графической поверхности. Сделать это можно при помощи метода MoveTo, указав в качестве параметров координаты нового положения карандаша.

Form1.Canvas.MoveTo(x1,у1);

Вид линии (цвет, толщина и стиль) определяется значениями свойств объекта Pen графической поверхности, на которой вычерчивается линия.

  1. Свойства Pen. Color - цвет линии.

clBlack – черный
clPurple – фиолетовый
clWhite – белый
clMaroon – темно-красный
clRed – красный
clNavy – темно-синий clGreen – зеленый
clBrown – коричневый

clBlue – синий
clSkyBlue – голубой
clYellow – желтый clCream – кремовый clAqua – бирюзовый
clOlive – оливковый clFuchsia – сиреневый

clTeal – сине-зеленый
clGray – серый
clLime – ярко-зеленый
clLightGray – светло-серый
clMoneyGreen – цвет зеленых денег
clDarkGray – темно-серый

Width Толщину линии

Style Вид линии

psSolid

psDot

psClear


psDashDot

psDash

psDashDotDot

  1. Свойства Brush

Color Цвет закрашивания замкнутой области

Style Стиль (тип) заполнения области

bsSolid


bsCross

bsBDiagonal

bsClear


bsDiagCross

bsFDiagonal

bsHorizontal


bsVertical



ОКРУЖНОСТЬ И ЭЛЛИПС. Метод Ellipse вычерчивает эллипс или окружность, в зависимости от значений параметров. Инструкция вызова метода в общем виде выглядит следующим образом:

Объект.Canvas.Ellipse(x1,y1, х2,у2);

Цвет, толщина и стиль линии эллипса определяются значениями свойства Pen, а цвет и стиль заливки области внутри эллипса — значениями свойства Brush поверхности (Canvas), на которую выполняется вывод.

ДУГА. Вычерчивание дуги выполняет метод Arc, инструкция вызова которого в общем виде выглядит следующим образом:

Объект.Canvas.Arc(x1,y1,х2,у2,х3,у3,х4,у4);

ПРЯМОУГОЛЬНИК. Прямоугольник вычерчивается методом Rectangle, инструкция вызова которого в общем виде выглядит следующим образом:

Объект.Canvas.Rectangle(x1, y1,x2, y2);


СЕКТОР. Метод pie вычерчивает сектор эллипса или круга. Инструкция вызова метода в общем виде выглядит следующим образом:

Объект. Canvas.Pie(x1,y1,x2,y2,х3,у3,х4,у4);

ТОЧКА. Поверхности, на которую программа может осуществлять вывод графики, соответствует объект Canvas. Используя свойство Pixels, можно задать требуемый цвет для любой точки графической поверхности, т. е. "нарисовать" точку. Например, инструкция

Form1.Canvas.Pixels[10,10] := clRed;

окрашивает точку поверхности формы в красный цвет.

Левой верхней точке рабочей области формы соответствует элемент Pixels [0,0], а правой нижней – Pixels [CiientWidth - 1, ClientHeight - 1].

ВЫВОД ТЕКСТА. Для вывода текста на поверхность графического объекта используется метод TextOut. Инструкция вызова метода TextOut в общем виде выглядит следующим образом:

Объект.Canvas.TextOut(x, у, ‘Текст’);

Где: объект - имя объекта, на поверхность которого выводится текст;

х, у - координаты точки графической поверхности, от которой выполняется вывод текста;

Текст - переменная или константа символьного типа, значение которой определяет выводимый методом текст.



Просмотр содержимого документа
«Практическое занятие 21»

Практическое занятие 21

Тема: Изучение графических возможностей среды программирования.

Цель: научиться применять графических возможности среды программирования.

Оборудование: Компьютер

Выполнение работы:

Задание 1. Создайте новый проект «Фигуры». При выборе цвета, первая фигура должна закраситься одним из трех цветов. При выборе заливки ко второй фигуре, будет применяться различная штриховка.

  1. Разместите на форме:

  • две фигуры Shape1 и Shape2 (вкладка Additional)

  • две кнопки RadioGroup1 и RadioGroup2 (вкладка Standard)













Объект

Shape1

Shape2

RadioGroup1

RadioGroup1

Свойство

Shape

Shape

Items

Items

Значение

stCircle

stSquare

Зеленый,

синий,

красный

Горизонтальная штриховка,

Вертикальная штриховка,

Сплошная штриховка



  1. Выделите объект Shape1, затем в Инспекторе объектов – Событие – OnMouseDown, перейдите в окно редактора кода и пропишите следующий код:

procedure TForm1.Shape1MouseDown(Sender: TObject;Button: TMouseButton);

begin

if radiogroup1.ItemIndex = 0 then shape1.brush.Color:=clgreen;

if radiogroup1.ItemIndex = 1 then shape1.brush.Color:=clblue;

if radiogroup1.ItemIndex = 2 then shape1.brush.Color:=clred ;

end;

  1. Аналогично пропишите код для Shape2.

procedure TForm1.Shape2MouseDown(Sender: TObject; Button: TMouseButton);

begin

if radiogroup1.ItemIndex = 0 then shape2.brush.Color:=clgreen;

if radiogroup1.ItemIndex = 1 then shape2.brush.Color:=clblue;

if radiogroup1.ItemIndex = 2 then shape2.brush.Color:=clred;

if radiogroup2.ItemIndex = 0 then shape2.brush.style:=bshorizontal;

if radiogroup2.ItemIndex = 1 then shape2.brush.style:=bsvertical;

if radiogroup2.ItemIndex = 2 then shape2.brush.style:=bssolid;

end;

  1. Сохраните проект в папке на Рабочем столе. Запустите проект на исполнение.

Задание 3. Создайте новый проект «Разноцветные линии». По щелчку кнопки Повторить на форме будут рисоваться разноцветные линии, а по щелчку кнопки Очистить, форма будет очищена.


  1. Разместите на форме:

  • две кнопки Button1 и Button2 (вкладка Standard)













  1. Выделите объект Form1, затем в Инспекторе объектов – Событие – OnPaint, перейдите в окно редактора кода и пропишите следующий код:

procedure TForm1.FormPaint(Sender: TObject);

var i: Integer;

begin

Randomize;

for i := 0 to 100 do ;

Canvas.Pen.Color:= RGBtoColor(Random (255),Random (255), Random (255));

Canvas.LineTo(Random(ClientWidth), Random(ClientHeight));

end;

  1. Выделите объект Button1, который подписан как «Очистить», перейдите в окно редактора кода и пропишите следующий код:

procedure TForm1.Button1Click(Sender: TObject);

begin

Canvas.brush.Color:= cldefault;

Canvas.FillRect(0,0,500,300);

end;

  1. Выделите объект Button2, который подписан как «повторить», перейдите в окно редактора кода и пропишите код, который задан для Form1.

  2. Сохраните проект в папке на Рабочем столе. Запустите проект на исполнение.

  3. Измените параметры для очистки всей формы.