Студопедия

КАТЕГОРИИ:


Архитектура-(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; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



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




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