usulidan foydalaniladi. Ellips uchlari (x1, y1), (x2, y2) nuqtalarda bo‘lgan to‘g‘ri
to‘rtburchakka ichki chizilgan va uning markazini (x3, y3), (x4, y4)
nuqtalar bilan birlashtiruvchi to‘g‘ri chiziqlar bilan kesilgan qismi olinadi. Bunda
uchinchi nuqtadan to‘rtinchi nuqtaga soat miliga teskari yo‘nalishda
harakatlanadi. Ellips sektorini rasmga qo‘shish uchun Pie(x1,y1,x2,y2, x3,y3,x4,y4)
usulidan foydalaniladi. Unga misol quyida keltirilgan:
Image1.Canvas.pie(0,0,100,100, 50,0,0,50);
Image1.Canvas.pie(100,0,200,100, 0,50,150,0);
Ranglar palitrasi. Piksellar xossasi yordamida qizil
va yashil ranglarni turli
ulushda aralashtirishdan hosil bo‘ladigan 65536 ta rangli piksellarni ekranda
tasvirlaydigan ilova yaratamiz. Ilovaga Image (256×256)
va Button obyektlarini
quyidagi rasmda ko‘rsatilgandek joylaymiz. Button tugmasini ikki marta bosib,
dastur
kodiga quyidagi
protsedurani kiritamiz:
procedure TForm1.Button1Click(Sender: TObject);
var i,j,rang:integer;
begin for i:=0 to 255 do
for j:=0 to 255 do begin rang:=RGB(i,j,0);
Image1.Canvas.Pixels[i,j]:=rang; end; end;
Ilovani ishga tushirib, qizil va
yashil ranglarning aralashib, sariq rang hosil
bo‘lishini ko‘ramiz:
2. Koptok ilovasi. Timer obyektidan birinchi
navbatda animatsion harakat
yaratish uchun foydalaniladi. Bu qanday amalga oshirilishini ko‘rish uchun
yangi ilova yaratamiz. Unga yetarlicha
katta Image obyektini, bittadan Timer,
CheckBox va SpinEdit larni joylaymiz.
Timer obyektini ikki marta bosib uning protsedurasini quyidagicha to‘ldiramiz:
procedure TForm1.Timer1Timer(Sender: TObject);
var n:integer;
begin
n:=SpinEdit1.Value;
if not CheckBox1.Checked then
Image1.Canvas.Rectangle(-3,-3,Image1.Width+3,Image1.Height+3); x:=x+dx*n;
if x>Image1.Width then
begin x:=2*Image1.Width-x; dx:=-dx;end;
if x<0 then begin x:=-x; dx:=-dx;end;
y:=y+dy*n;
if y>Image1.Height then
begin y:=2*Image1.Height-y; dy:=-dy;end;
if y<0 then begin y:=-y; dy:=-dy;end;
Image1.Canvas.Ellipse(x-10,y-10,x+10,y+10);
end;
Beshinchi satrda CheckBox1 da bayroqcha o‘rnatilganligi tekshiriladi. Agar bu
bayroqcha o‘rnatilmagan bo‘lsa, oltinchi satrda koptokning oldingi holati butun
rasmni o‘chirib tashlash bilan yo‘qotiladi:
Amaliy ish:
1. Piksellar ilovasida nechta pikselning rangi o‘zgaradi?
2. Koptok ilovasida koptokning holati qaysi o‘zgaruvchilarga qarab
aniqlanadi.
3. Koptok ilovasida koptokning harakat tezligi qanday qilib
o‘zgartiriladi?
4. Koptok ilovasida koptok harakatining yo‘nalishi qaysi o‘zgaruvchida
saqlanadi?
5. Piksellar ilovasida ranglarni shakllashtirishda uchinchi asosiy
rangning ham ishtirok etishini ta’minlang.
6. Koptok ilovasida koptok yo‘nalishini dx va dy o‘zgaruvchilarning
boshlang‘ich qiymatlarini almashtirish bilan o‘zgartiring:
a) dx:=1; dy:=1;
b) dx:=1; dy:=2;
c) dx:=3; dy:=2;
d) dx:=3; dy:=1.
0>0>
Do'stlaringiz bilan baham: