КАТЕГОРИИ: Архитектура-(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) |
Implementation
Var Type Uses Interface End Begin Begin Casecmod8of Begin End Begin Begin PaintBox1.Canvas.Brush.Color:= RGB(0,0,0); PaintBox1.Canvas.FillRect(Rect(0,0,100,100)); for i:= 1 to 300 do x:= random(100); y:= random(100);
PaintBox1.Canvas.Pixels[x,y]:= RGB(random(255),random(255),random(255)); end end; 7. Заполнить канву случайными разноцветными линиями разной толщины. Линия рисуется с помощью методов (сначала задается начальная точка, потом конечная): PaintBox1.Canvas.MoveTo(10,10);
PaintBox1.Canvas.LineTo(50,50);
Цвет линии и толщина задаются свойством канвы Pen (карандаш). Pen.Color - цвет карандаша), Pen.Width - толщина линии в пикселах (по умолчанию - 1).
Рис. 52.
for i:= 1 to 300 do begin PaintBox1.Canvas.Pen.Color:= RGB(random(255),random(255),random(255)); PaintBox1.Canvas.Pen.Width:= random(3)+1;
x:= random(100); y:= random(100);
PaintBox1.Canvas.MoveTo(x,y); x:= random(100);
y:= random(100); PaintBox1.Canvas.LineTo(x,y);
8. Заполнить канву эллипсами случайным образом (круги, окружности - частный случай эллипса). Эллипсы рисуются методом Ellipse() с четырьмя параметрами - координатами верхнего левого и правого нижнего углов прямоугольника, в который эллипс вписывается. Кайма эллипса рисуется в соответствии с параметрами свойства Pen канвы, а заливается эллипс внутри цветом кисти Brush канвы.
Рис. 53.
for i:= 1 to 300 do begin
// цвет и ширина каймы будущего эллипса PaintBox1.Canvas.Pen.Color:= RGB(random(255),random(255),random(255)); PaintBox1.Canvas.Pen.Width:= random(3)+1; // цвет заливки внутренности эллипса PaintBox1.Canvas.Brush.Color:= rgb(random(255),random(255),random(255));
// координаты углов прямоугольника, в который вписывается эллипс x:= random(150);
y:= random(150); x2:= random(150); y2:= random(150);
// вписываем эллипс PaintBox1.Canvas.Ellipse(x,y,x2,y2); end;
9. Сделать канву на весь экран. Заполнить разноцветными прямоугольниками в случайных позициях и случайных размеров с помощью FillRect().
10. Создать графический образ так называемого множества Жюлиа.
procedure TForm1.Button1Click(Sender: TObject); var RE,IM,RE1,IM1: REAL;
V,X,Y: INTEGER; // вывод точки заданного цвета procedure PUTPIXEL(x,y,c:Integer); var cc: TColor;
0:cc:=clBlack; 1:cc:=clRed; 2:cc:=clLime; 3:cc:=clYellow; 4:cc:=clBlue; 5:cc:=clFuchsia; 6:cc:=clAqua; 7:cc:=clWhite; end; PaintBox1.Canvas.Pixels[x,y]:= cc; end; procedure QWA; begin RE1:=RE*RE-IM*IM; IM1:=2*RE*IM; RE:=RE1; IM:=IM1; end; procedure KUB; begin
RE1:=RE*(RE*RE-3*IM*IM); IM1:=IM*(3*RE*RE-IM*IM); RE:=RE1; IM:=IM1; end;
PaintBox1.Canvas.Brush.Color:= rgb(0,0,0); PaintBox1.Canvas.FillRect(Rect(0,0,640,480)); X:=-320; REPEAT Y:=-240; REPEAT V:=0; RE:=-1.+0.001*X; IM:=0+0.001*Y; REPEAT KUB; RE:=RE+1.00003; IM:=IM+1.01828201638; if RE*RE > 50 then break; if IM*IM > 50 then break;V:=V+1;
UNTIL V>40; if (ABS(RE) > 10) or (ABS(IM) > 1000) then PUTPIXEL((X+320),(Y+240),TRUNC(V)); else PUTPIXEL((X+320),(Y+240),0);Y:=Y+1;
UNTIL Y > 241; X:=X+1; UNTIL X>320; E nd;
Практическая работа № 11 «Олимпийский флаг»
Цель работы -создать программу,которая на поверхности формы рисуетолимпийский флаг.
Рис. 54.
Листинг программы: unit Unit1;
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;
TForm1 = class(TForm) procedure FormPaint(Sender: TObject);private { Private declarations } public { Public declarations } end;
Form1: TForm1;
{$R *.dfm}
procedure TForm1.FormPaint(Sender: TObject); begin
Дата добавления: 2017-02-01; Просмотров: 71; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |