Ekranda chizmalarni xarakatlantirish
Ekranda chizmalarni xarakatlantirish uchun kerak bo’ladigan protseduralar:
1. imagesize (x1, y1, x2, y2) – ekranning chap yuqori nuqtasi va o’ng pastki
nuktasi koordinatalaridan to’g’ri turtburchakli soxani saqlash uchun kerak
bo’ladigan xotiraning o’lchami (baytlarda olinadi);
2. getimage (x1, y1, x2, y2, p) – dinamik xotiraning berilgan r maydonida
tug’ri turtburchakli tasvirni saqlash. Bu yerdar – tasvir saqlanadigan joyning
adresini saqlaydigan o’zgaruvchi, ya’ni kursatkich.
3. putimage (x, y, p, m) – ekranning berilgan joyiga tasvirni chiqarish; bu
yerda x va y – xotiraning p maydonidagi tasvirdan nusxa ko’chiriladigan ekran
maydonining chap yuqori nuqtasi; m – tasvirni ekranga chiqarish rejimi. Agar: m =
0 (Normal Put) – tasvirni kuchirish. Bunda eskisi o’chib, yangisi paydo bo’ladi
(xuddi yurib ketayotgandek) m = 1 (XorPut) m = 2 (Orput) – m = 3 (AndPut)
Masalan: quyidagi dasturda kvadrat ichidagi bo’yalgan aylana ekran bo’ylab
xarakatlanadi.
# include < graphics.h >
# include
# include void main ( ) {
int
gd = 0, gm, I, j, s;
int
*a;
initgraph(&gd,&gm,"");
setcolor ( 4 ); circle ( 30, 30, 20 );
putpixel ( 30, 30, 2);
rectangle ( 10, 10, 50, 50);
s = imagesize ( 9, 9, 51, 51);
*a = new
int
;
*a = s;
getimage (9, 9, 51, 51, a);
for
( i = 0; i < = 585; i + +) { putimage ( i, 10, a, 0);
sound (20);
delay (10);
nosound ( );
}
for
( j = 10;
j < = 420;
j + +) { putimage(585, j, a, 0 );
Do'stlaringiz bilan baham: |