Rivojlantirish va muvofiqlashtirish hududiy boshqarmasi amudaryo tuman kasb-hunar maktabi


Image1.Canvas.TextOut(180,20, '50')


Download 3.49 Mb.
Pdf ko'rish
bet178/290
Sana30.10.2023
Hajmi3.49 Mb.
#1734972
1   ...   174   175   176   177   178   179   180   181   ...   290
Bog'liq
Rivojlantirish va muvofiqlashtirish hududiy boshqarmasi amudaryo (1)

Image1.Canvas.TextOut(180,20, '50'); 
Ilovani ishga tushirib, uning tugmasini bosamiz. 
2. Rasmga shakllarni joylash. Rasmga bir qator geometrik shakllarni joylash
mumkin. Ulardan to‘g‘ri to‘rtburchak, ellips kesmalarni qanday joylashni
avvalgi mashg‘ulotlarda ko‘rib chiqqan edik. Endi ular yoniga boshqalarini 
qo‘shamiz. Ellips yoyini rasmga qo‘shish uchun arc(x1,y1,x2,y2, x3,y3,x4,y4) 


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. 

Download 3.49 Mb.

Do'stlaringiz bilan baham:
1   ...   174   175   176   177   178   179   180   181   ...   290




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling