Запустите среду программирования Lazarus (Приложения – Программирование – Lazarus).
Создайте новый проект и сохраните его в новой папке РИСОВАНИЕ
( Проект — Сохранить проект как...).
1. Поместите на форму группу радиокнопок RadioGroup1
2. Радиокнопки (переключатели) образуют группы взаимосвязанных индикаторов, из которых обычно может быть выбран только один. Они используются для выбора пользователем одной из нескольких взаимоисключающих альтернатив.
3. Для свойства Caption задайте значение Цвет кисти.Задайте список построения на странице свойств объекта, открыв диалоговое окно в меню Items:
черный
красный
желтый
Сколько строчек вы запишете — столько и будет переключателей.
4. Присвойте начальное положение Радиокнопки = Черный (если эта фигура первая в списке, ее индекс равен 0).
5. Для рисования мышью поместите на форму PaintBox1 и вызовите Событие OnMouseMove. Напишите программный код:
procedure TForm1.PaintBox1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var startx,starty,a:integer;
begin
case RadioGroup1.ItemIndex of
0: a:=clblack;
1: a:=clred;
2: a:=clyellow;
end;
if not (ssleft in Shift) then exit;
with PaintBox1.Canvas do
begin
MoveTo(Startx,Starty);
Pen.Color:=a;
Brush.Color:=a;
Ellipse(x,y,x+4,y+4);//форма кисти
end;
startx:=x; starty:=y;
end;
6. Для PaintBox1 вызовите Событие OnMouseDown:
procedure TForm1.PaintBox1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var startx,starty:integer;
begin
startx:=x; starty:=y;
end;
7. Запустите на выполнение и проверьте программу на наличие ошибок
8. Добавьте выбор кисти зеленого, синего и белого цветов.
9. Поместите на форму Диалог Выбор цвета –ColorDialog1
10. Добавьте выбор кисти с помощью диалогового окна
Для этого разместите на форме кнопку Button1.
procedure TForm1.Button1Click(Sender: TObject);
var a:integer;
begin
if ColorDialog1.Execute then a:=colordialog1.color;
end;
11. Дополните программный код переключателяRadioGroup1
6: a:=colordialog1.color;
12. Поместите на форму кнопку для изменения цвета холста.
if ColorDialog1.Execute then a:=colordialog1.color;
PaintBox1.Canvas.brush.color:=a;
PaintBox1.Canvas.rectangle(0,0,ширинахолста,высота);
13. Добавьте объект TrackBar1. (Компонент TrackBarпредставляет собой визуальный элемент управления в виде ползунка, который можно перемещать клавишами или курсором мыши во время выполнения)
14. Установите минимальное значение 5, максимальное 25
15. Для TrackBar1 вызовите событие OnChange для присваивания выбранного значения метке Label2.
label2.caption:=inttostr(Trackbar1.Position);
16. Поместите метку Label1 Толщина кисти, метку Label2 для отображения значения толщины кисти. Измените программный код рисования эллипса (см п.5)
Ellipse(x,y,x+Trackbar1.Position,y+Trackbar1.Position);
17. Добавьте кнопку Сохранить рисунок и диалог SavePictureDialog1 сохранения рисунка
18. Рисунку нужно сопоставить переменную
var bmp: TBitmap;
19. Далее программный код кнопки сохранения рисунка
SavePictureDialog1.Title:=' Сохранитьрисуноккак...';
if SavePictureDialog1.Execute then
begin
bmp := TBitmap.Create;
try
bmp.Width := PaintBox1.Width;
bmp.Height := PaintBox1.Height;
bmp.Canvas.CopyRect(Rect(0, 0, bmp.Width, bmp.Height), Canvas, rect(0,0,PaintBox1.Width, PaintBox1.Height));
bmp.SaveToFile(SavePictureDialog1.Filename);
finally
bmp.Free;
end;
end;