C++ Builder muhitida grafik shakllarni chizish.
Chizish sirti. Borland C++ Builder 6 muhitida chizish sirti - TCanvas sinfi programma ishlash paytida rasm chizish imkonini beradi. Bu sinf obekti sirt bo’yicha ko’chish, grafik primitivlar chizish, rasmlarni va sirtning biror qismini nusxalash, hamda matnni chop qilish imkonini beruvchi xossa va metodlarni o’z ichiga oladi.
Har bir Canvas xossasiga ega komponenta o’z navbatida qalam, kist va shrift obektlarini tarkibiga oladi va mos ravishda Pen, Brush va Font xossalariga ega.
Pen xossasi rangga (Canvas->Pen-> Color), chizishning piksellyerdagi qalinlikka (Canvas->Pen-> Width), chizilayotgan chiziq toifasiga (Canvas->Pen-
>Style) ega. Chiziq toifasi quyidagi qiymatlarni qabul qilishi mumkin:
psSolid – uzluksiz chiziq (kelishuv bo’yicha); psDash – tire belgilaridan hosil bo’lgan chiziq; psDot – nuqtalardan tashkil topgan chiziq;
psDashDot – nuqta va tire ketma-ketliklaridan iborat chiziq; psDashDotDot – tire va nuqtalardan ketma-ketliklaridan iborat chiziq; psClear – ko’rinmas chiziq;
psInsideFrame – chizish sirtini chegaralovchi to’g’ri to’rtburchak ichidagi chiziq.
Brush xossasi geometrik shakllar, masalan, to’g’ri to’rtburchak va ellips ichini to’ldirish naqshini aniqlaydi. U quyidagi xossalarga ega:
Canvas->Brush->Color – kist ranggi;
Canvas->Brush->Style – kist toifasini aniqlaydi va u quyidagi qiymatlarni qabul qilishi mumkin:
bsSolid – berilgan rang bilan shakl yuzasi to’liq bo’yaladi;
bsClear -shakl yuzasini bo’yalmaydi;
bsHorizontal - shakl yuzasi parallel chiziqlar bilan to’ldiriladi; bsVertical - shakl yuzasi vertikal chiziqlar bilan to’ldiriladi; bsFDiagonal - shakl yuzasi yuqoriga qaragan chiziqlar bilan to’ldiriladi; bsFDiagonal - shakl yuzasi yuqoriga pastga chiziqlar bilan to’ldiriladi; bsCross - shakl yuzasi to’r bilan to’ldiriladi;
bsDiagCross - shakl yuzasi egri chiziqlardan hosil bo’lgan to’r bilan to’ldiriladi.
Canvas obektining muhim xossalaridan biri Canvas->Pixels[x][y] xossasi bo’lib, u ko’rsatilgan koordinatadagi piksel rangini aniqlaydi. Bu xossa qiymatini o’qish va unga qiymat yozish mumkin.
Geometrik shakllar chizish uchun quyida keltirilgan funksiyalardan foydalanish mumkin:
Arc(int X1, int Y1, int X2, int Y2, int X3, int Y3, int X4, int X4) – yoy chizish. Bu yerda (X1,Y1) va (X2,Y2) – mos ravishda yoy chiziladigan to’rtburchak sohaning chap yuqori va o’ng past uchlari koordinatasi. (X3,Y3) va (X4,Y4) nuqtalar mos holda yoy boshlanishi va oxiri koordinatasi.
Chord(int X1, int Y1, int X2, int Y2, int X3, int Y3, int X4, int X4) – ellips vatarini chizish. Bu yerda (X1,Y1) va (X2,Y2) – mos ravishda yoy chiziladigan to’rtburchak sohaning chap yuqori va o’ng past uchlari koordinatasi. (X3,Y3) va (X4,Y4) nuqtalar mos holda vatar boshlanishi va oxiri koordinatasi.
Ellipse(int X1, int Y1, int X2, int Y2) – rang bilan to’ldirilgan ellipsni chizish. Bu yerda (X1,Y1) va (X2,Y2) – mos ravishda yoy chiziladigan to’rtburchak sohaning chap yuqori va o’ng past uchlari koordinatasi.
Rectangle(int X1, int Y1, int X2, int Y2) – rang bilan to’ldirilgan to’g’ri to’rtbuchakni chizish. Bu yerda (X1,Y1) va (X2,Y2) – mos ravishda yoy chiziladigan to’rtburchak sohaning chap yuqori va o’ng past uchlari koordinatasi.
Do'stlaringiz bilan baham: |