Ma’ruzachi Irgasheva N. C/C++ tilining grafik imkoniyatlarini ishga tushirish uchun quyidagi direktiva ulanishi kerak: include Matn rejimidan grafik rejimiga o’tish uchun maxsus proseduradan foydalaniladi: initgraph (&gd, &gm, “ path “); bu erda: gd – drayver nomi gm – rejim nomi path – yo’l Drayverlar .bgi fayllarida saqlanadi. Ko’pincha gd = 0 (yiki gd = DETECT) deb olinadi. Grafik rejimidan yana matn rejimiga o’tish kerak bo’lsa closegraph ( ) funksiyasi ishlatiladi Grafik rejimida ekran 640 x 480 ta nuqtadan iborat bo’ladi. Ekranda chizmalarni hosil qilish uchun quyidagi funksiya va proseduralar ishlatiladi: 1. putpixel (x, y, color) - x ва y координатадаги нуктани color рангда чизиш; 2. getpixel (x, y) - x ва y координатадаги нуктанинг рангини аниклайди; 3. line (x1, y1, x2, y2) - x1 ва y1 координатадаги нуктадан x2 ва y2 координатадаги нуктагача кесма чизиш; 4. circle (x, y, r) - маркази x ва y координатада ва радиуси R булган айлана чизиш; 5. rectangle (x1, y1, x2, y2) - юкори чап нуктаси x1 ва y1 координатада, унг пастки нуктаси x2 ва y2 координатада булган тугритуртбурчакни чизиш; 6. setbkcolor (color) - орка фонга ранг бериш; 7. setcolor (color) - чизиш рангини урнатиш (рангли калам); Бу ерда color - ранг номери ёки номи. Агар ранг номи ёзиладиган булса, уни катта харфларда ёзилади. 8. bar (x1, y1, x2, y2) - жорий ранг ва чизиклар ёрдамида ичи буялган тугритуртбур-чак чизиш; 9. fillellpse (x, y, xr, yr) - маркази x ва y да, xr кенгликда ва xr баландликда ичи буялган рангли эллипс чизади; 10. setfillstyle (style, color) - буяш усул ва рангни урнатиш. Бу ерда style - узгармас катталик булиб, у куйидагича булиши мумкин: 0 - сохани фон ранги билан тулдириш; 1- сохани ранг билан узлуксиз тулдириш; 2 - калин горизонтал чизиклар 3 - ингичка огма чизиклар 4 - йугон огма чизиклар 5 - йугон огма чизиклар (бошка стил) 6 - огма йуллар 7 - туртбурчакли чизиклар 8 - огма туртбурчаклар 9 - зич огма шртихлар 10 - сийрак нукталар (у ер - бу ерда) 11 - зич нукталар билан Masalan: # include # include void main ( ) { int gd, gm ; gd=0; initgraph (&gd, &gm, “c:\bc\bin\bgi "); setbkcolor (14); // orqa fonga sariq rang berish putpixel ( 100,100,4); // qizil rangli nuqta circle (100,100,50); // r=50 bo’lgan aylana chizish setcolor(2); // ko’k qalam line (50,50,150,50); line (150,50,150,150); line (150,150,50,150); // to’g’ri chiziqlar chizish line(50,150,50,50); getch( ); } Yoki dasturni yana quyidagicha yozish mumkin: # include # include void main ( ) { int gd, gm ; gd=0; initgraph (&gd, &gm, “c:\bc\bin\bgi "); setbkcolor (14); putpixel ( 100,100,4); circle (100,100,50); setcolor(2); rectangle (50,50,150,150); getch( ); }
Do'stlaringiz bilan baham: |