Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Порядок выполнения. Разработать приложение, реализующее основные функции графического редактора




Постановка задачи

Разработать приложение, реализующее основные функции графического редактора.

 

1. Создать новый проект.

2. Расположить на форме командную кнопку и для нее ввести программный код (событие OnClick):

form1.Canvas.Font.Size:=20;

form1.Canvas.Font.Style:=form1.Font.Style +[fsbold];

form1.Canvas.Font.Color:=clBlue;

//form1.Canvas.Font.Height:=100;

form1.Canvas.Font.Name:='Arial';

form1.Canvas.TextOut(10,20,’Мой графический редактор’);

3. Проверить работу программы. Изменить размер окна (развернуть, свернуть). Просмотреть результат.

4. Перемести введенный программный код в процедуру Form1Paint и еще раз проверить работу программы.

5. Добавить на форму компонент PaintBox (System), задать ему имя Pole.

6. Для объекта Pole выберите событие OnMouseDown и ввести код:

If Button = mbLeft Then // если нажата левая кнопка

maincolor:=clred //переменной присвоить красный цвет

Else //иначе зеленый

maincolor:=clGreen;

7. Для объекта Pole выберите событие OnMouseUp и ввести код;

maincolor:=form1.Color;

8. Для объекта Pole выберите событие OnMouseMove и ввести код:

pole.Canvas.Pixels[x,y]:=MainColor;

9. Объявить глобальную переменную MainColor: TColor;

10. Проверить работу программы.

11. Для получения эффекта распыления, изменить процедуру PoleOnMouseMove в соответствии со следующим кодом:

For I:=1 to 50 Do

Begin

H:=25-random(50);

V:=25-random(50);

pole.Canvas.Pixels[x+h,y+v]:=MainColor;

End;

12. Проверить работы приложения.

13. Введенный ранее код пометить комментарием.

14. Для объекта Pole выбрать событие OnMouseDown и добавить код

pole.Canvas.Pen.Width:=5; //толщина рисования

pole.Color:=clBlack; //цвет заливки

pole.Canvas.Pen.Color:=clred; // цвет линии

pole.Canvas.Ellipse(x,y,x+100,y+200); // эллипс

15. Проверить работы приложения.

16. Заблокировать комментарием рисование эллипса.

17. Последовательно ввести ниже следующие строки кода, каждый раз проверяя их работу.

pole.Canvas.Arc(x,y,x+50,y+10,x-10,y-10,x+20,y+20);

 

pole.Canvas.LineTo(x,y);

 

pole.Canvas.Chord(x,y,x+50,y+10,х-10,у-10,х+20,у+20); замкнута и залита цветом

 

pole.Canvas.Pie(x,y,x+50,y+10,x-10,y-10,x+20,y+20);

 

pole.Canvas.Rectangle(x,y,x+30,y+40);

 

pole.Canvas.RoundRect(x,y,x+30,y+50,x+70,y+200);

 

18. Добавить на форму командную кнопку и ввести для ее события OnClick следующий код:

Var

pol: array[1..3] of TPoint; // координаты точек треугольника

Begin

pol[1].x:= 10; pol[1].y:= 50;

pol[2].x:= 40; pol[2].y:= 10;

pol[3].x:= 70; pol[3].y:= 50;

Form1.Canvas.Polygon(pol);

End;

 

19. Вывести на экран изображение перемещающегося кораблика, используя метод базовой точки, для этого:

  • для формы выбрать событие OnActivate и ввести код:

x:=0; y:=100;// базовая точка

Form1.Color:=clNavy;

Timer1.Interval:= 50;

 

  • добавить на форму таймер и ввести для него код:

 

Titanik(x,y,form1.color); // стереть рисунок

if x < Form1.ClientWidth then

x:= x+5 else begin // новый рейс

x:= 0; у:= Random(50) + 100;

end;

Titanik(x,у,clWhite); // нарисовать в новой точке

 

 

  • создать и объявить новую процедуру для вычерчивания кораблика:

procedure TForm1.Titanik (x,y: integer;color: TColor);

// x,yкоординаты базовой точки, color цвет корабля

const dx = 5; dy = 5;//масштаб кораблика

Var buf: TColor;




Поделиться с друзьями:


Дата добавления: 2014-10-23; Просмотров: 636; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.