|
Grafika bilan ishlan uchun funktsiyalar
|
bet | 2/4 | Sana | 28.10.2022 | Hajmi | 33.14 Kb. | | #28451 |
Bog'liq Mavzu Borland C Builderning grafik vositalari. Reja 2 5262614962408262335, Tranzistor - Vikipediya, Tekshirdi Setmetov. N. U, Kasbiy qiziqish va layoqatlarni eksperimental o’rganish Reja, 2reja, 2reja, 9-davomi-2, portal.guldu.uz-Qattiq jismlar fizikasi (1), Mavzu bionika asoslari va uning inson hayotidagi o’rniGrafika bilan ishlan uchun funktsiyalar
Eng oddiy funktsiyalar grafik primitivlar deb ataladi. Primitivlarni, shartli ravishda quyidagi guruhlarga bo’lish mumkin:konturlar chizishning primitivlari va yuzali figuralar. Grafik primitizlarni chiqarish, shakl yuziga to’g’ri keladi. Bu yuza Canvas deb ataladi.
Kontur primitivlari: chiziqlar (line), to’g’riburchaklar (rectangle), yoy (arc), aylanalar (circle), ellipslar (ellipse), ko’pburchaklar (drawpoly) va boshqa ichi bo’yalmaydigan shakllar.
Yuzali ichi to’ldiriluvchan shakllarga, bo’yaladigan to’g’riburchaklar (FillRect), dumaloq va ellipssimon sektorlar (Pie) kiradi. Agarda siz chizadigan shakl yopiq, ammo bo’yalmaydigan bo’lsa, masalan, (Poligon) ko’pburchagi, u holda (FloodFill, FillStyle) bo’yash funktsiyasi yordamida uni shtrixlash mumkin.Chizish rangini tanlash uchun, grafik primitivlarning rang berish funktsiyasidan foydalaniladi (Pen- >Color).
Jadval 1 - kanvaning metod va xossalari
Metod (Funktsiya)
|
xossa
|
harakat
|
MoveTo
|
PenPos
|
Qalamning dastlabki holatini aniqlaydi
|
LineTo
|
PenPos
|
Berilgan nuqtagacha to’g’ri chiziq chizadi
|
Rectangle
|
|
To’g’riburchak chizadi
|
Ellipse
|
|
Ellips chizadi
|
Arc
|
|
Yoy chizadi
|
Polyline
|
|
Siniq chiziq chizadi
|
PolyBezier
|
|
Qiyshiq Beze chizadi
|
Chord
|
|
Sektor chizadi
|
DrawFocusRect
|
|
To'g'ri burchakli to'rtburchak chizadi
|
FrameRect
|
|
To’g’riburchak atrofidan ramka chiqaradi
|
Pie
|
|
Aylana sektorini chiqaradi
|
TextOut
|
|
Tekst chizig’ini chiqaradi
|
TextHeight
|
|
Tekst chizig’i balandligini belgilaydi
|
TextWidth
|
|
Tekst chizig’ini chiqarish uchun kenglikni belgilaydi
|
TextRect
|
|
To’g’ri burchak ichida matn yozish
|
FillRect
|
|
Belgilangan to’g’riburchakni rang bilan va dastlabki cho’tka shakli bilan to’ldirish.
|
FloodFill
|
|
Kanva maydonini (istalgan shaklda) berilgan rang bilan to’ldirish
|
|
Pen
|
Qalamning rangi, uslubi, kengligi va rejimini o’rnatish uchun ishlatiladi
|
|
Brush
|
Kanvaning fon va grafik shaklida rang va tuzilishini o’rnatish uchun ishlatiladi
|
|
Font
|
Berilgan rang, o’lcham, va usuldagi shriftni o’rnatish uchun ishlatiladi
|
|
Pixels
|
Berilgan kanva pikseli rangini o’qish va yozish uchun ishlatiladi
|
CopyRect
|
CopyMode
|
CopyMode rejimida kanvaning to’g’riburchak maydonini ko’chiradi
|
BrushCopy
|
|
Rang almashtirish bilan kanvaning to’g’riburchak maydonini ko’chiradi
|
Draw
|
|
Kanvaning berilgan joyida, bitli obraz, piktogramma, metafaylni chizadi
|
StretchDraw
|
|
Berilgan to’g’riburchakni to’liq to’ldirish uchun bitli obraz, piktogramma, metafaylni chizadi
|
C++ Builder muhitida grafika va Canvas-grafikasining funktsiyalari
Polotno (Canvas) C++ Builder polotno grafikasi, shakl “polotnosi” ustida grafik primitivlarni chizish uchun mo’ljallangan. Dastur grafikani Canvas(Canvas -chizish uchun polotno) xossasi to’g’ri keladigan shakl (yoki Image komponenti) yuziga chiqarishi mumkin. Image komponenti yoki shakl yuzida chiziq, aylana, to’g’riburchak, yoki boshqa bir grafik element (primitiv) paydo bo’lishi uchun, Canvas xossasiga mos keluvchi metod qo’llash (jad. 2) mumkin.
Masalan,
Forml->Canvas->Rectangle( 10,10,50,50);
Shakl ustida to’g’riburchak chizadi.
Jadval 2-grafik primitivlarini o’chirish usullari
Usul
|
Xarakat
|
LineTo(x,y)
|
Belgilangan nuqtadan, koordinatalari berilgan nuqtagacha chiziq chizadi
|
Rectangle (xl,yl,x2,y2)
|
Chap tepa va o’ng past burchaklari xl,yl,x2,y2 - koordinatali bo’lgan to’g’ri to’rtburchak chizadi
|
FillRect (xl,yl,x2,y2)
|
Diagonal burchaklari x\,yl,x2,y2 - koordinatali bo’lgan bo’yalgan to’g’ri to’rtburchak chizadi
|
FrameRect (xl,yl,x2,y2)
|
Diagonal burchaklari xl,yl,x2,y2 - koordinatali bo’lgan to’g’ri to’rtburchak konturini chizadi
|
RoundRect
(xl, yl,x2,y2,x3,y3)
|
Burchaklari dumaloqlashgan to’g’ri to’rtburchak chizadi
|
Ellipse (xl,yl,x2,y2)
|
Ellips yoki aylana chizadi, xl,yl,x2,y2 - ichiga ellips chiziladigan to’g’ri to’rtburchakning, yoki ichiga aylana chiziladigan kvadratning koordinatalari
|
Polyline (points,n)
|
Siniq chiziq chizadi, points - TPoint tipining massivi.
|
Polyline metodi, ketma ketlikda, koordinatalari massivda joylashgan nuqtalarni tekis kesmalar bilan bog’lab siniq chiziq chizib boradi: birinchisini ikkinchisi bilan, ikkinchisini uchinchisi bilan va h.k.
Grafik primitivlarni chiqarish metodlari Canvas xossasiga, ustida chizish mumkin bo’lgan abstrakt polotno sifatida qaraydi. Polotno, alohida nuqtalar-piksellardan tashkil topgan. Polotno yuzasida pikselning o’rni gorizontal (X) va vertikal (Y) koordinatalar bilan ifodalanadi. Koordinatalar pastdan tepaga va chapdan o’ngga tomon o’sib boradi. (rasm. 1). Shakl yuzasida chapdan tepadagi piksel koordinatalari (0,0), o’ngdan pastdagisi - (ClientWidth, ClientHeight).
Elementlari polotno nuqtalarining rangi haqida ma’lumot saqlaydigan massivni tashkil etuvchi Pixels xossalari orqali alohida piksellarga yo’l ochish mumkin.
Pen ob’ektining xossalari (3 jadval) geometrik shaklning chegaralarini yoki chiziq kengligi va tipini, rangini belgilab beradi. Brush ob’ekti xossalari (jadval 4) to’g’rito’rtburchak, sektor, aylana yoki yopiq konturlar ichlarini bo’yash usuli va rangini belgilab beradi.
Jadval 3 -Pen ob’ektining xossalari
Xossasi
|
Aniqlaydi
|
Color
|
Chiziq rangini
|
Width
|
Chiziq kengligini (pikselda beriladi)
|
Style
|
Chiziq ko’rinishini (psSolid - to’liq; psDash - punktirli, uzun shtrixlar; psDot - punktirli, qisqa shtrixlar; psDashDot - punktirli, uzun va qisqa shtrixlar ketmaketligi; psDashDotDot - punktirli, bitta uzun va ikkita qisqa shtrixlar ketmaketligi; psClear - chiziq ko’rinmaydi (maydon chegaralarini ko’rsatish lozim bo’lmagan xolatlarda ishlatiladi -masalan, to’g’ rito ’ rtburchakda)
|
Jadval 4 -Brush ob’ektining xossalari
Xossasi
|
Aniqlaydi
|
Color
|
Yopiq maydonning bo’yalish rangi
|
Style
|
Maydoni to’ldirish uslubi (bsSolid - to’liq bo’yash. Shtrixlash: bsHorizontal - gorizontal; bsVertical - vertikal; bsFDiagonal - oldinga egik chiziqlar bilan diagonal; bsBDiagonal - orqaga egik chiziqlar bilan diagonal; bsCross - katak; bsDiagCross - diagonal katak
|
Quyidagi buyruqlar olimpiada xalqalari ifoda etuvchi bayroq chizadi - (rasm.
9):
bayroq polotnosi
Image1->Canvas->Pen->Width = 1;
Image1->Canvas->Pen->Color q = clBlack;
Image1->Canvas->Brush->Color = clCream;
Image1 ->Canvas->Rectangle(30,30,150,150);
Image1->Canvas->Pen->Width =2; // xalqalar kengligi
|
| |