Интерактивное рисование

                            <- Назад                  Вперед ->


 Запустите среду программирования Lazarus (Приложения – Программирование – Lazarus).

 Создайте новый проект и сохраните его в новой папке РИСОВАНИЕ

 ( ПроектСохранить проект как...)

1. Поместите на форму группу радиокнопок RadioGroup1


2.     Радиокнопки (переключатели) образуют группы взаимосвязанных индикаторов, из которых обычно может быть выбран только один. Они используются для выбора пользователем одной из нескольких взаимоисключающих альтернатив.

3.     Для свойства Caption задайте значение Цвет кисти.Задайте список построения на странице свойств объекта,  открыв диалоговое окно в меню Items:

      черный

      красный

      желтый

     Сколько строчек вы запишете — столько и будет переключателей. 

4.     Присвойте начальное положение Радиокнопки = Черный (если эта фигура первая в списке, ее индекс равен 0).

5.  Для рисования мышью поместите на форму PaintBoxи вызовите Событие 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.     Для PaintBoxвызовите Событие 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;

 

                            <- Назад                  Вперед ->


Яндекс.Метрика

©   2012 - 2024