2. Image va Shape obyektlari. Delphida grafika bilan ishlash uchun maxsus boshqarish obyektlari bor. Ular Image (rasm, tasvir) va Shape (shakl) bo'lib, obyektlar panelining Additional (qo'shimcha) jildida joylashgan:
Bu obyektlaming Canvas (polotno) obyektlarida xossa, usul va ajdod obyektlar yordamida grafika yaratiladi. Canvasning asosiy ish qurollari Pen (qalam) va Brush (mo'yqalam) bo'lib, ulardan birinchisi yordamida chiziqlar chiziladi. lkkinchisi esa sohalami bo'yashda ishlatiladi.
Pen (qalam) ning xossalaridan asosiylari Width (eni), Style (stili) va Color (rangi) lardir. Imagel.Canvas.Pen.Width:=5; operatori qalamda chiziladigan chiziq kengligini 5 pikselga teng qilib o'matadi.
Style xossasi chiziladigan chiziqlaming ko'rinishini o'zgartiradi. U quyidagi qiymati oldindan aniqlangan o'zgarmaslardan biriga teng bo'lishi mumkin:
psSolid - uzluksiz (oldindan o'matilgan).
psDash- shtrix (mayda kesmachalar).
psDot - nuqtalar.
psDashDot - kesma va nuqta.
psDashDotDot - kesma, nuqta va nuqta.
psClear - ko'rinmas.
Qalam stilini o'zgartiruvchi operator
Imagel. Canvas. Pen. Style: =psDash; kabi bo'ladi.
Pen (qalam) ning Color (rang) xossasi chiziladigan chiziqning rangini belgilab beradi. Bu xossada ham oldindan berilgan o'zgarmaslardan foydalanish mumkin. Masalan, clBlack (qora, oldindan o'matilgan), clWhite (oq), clBlue (ko' k), clGreen (yashil), clRed (qizil), clYellow (s, ), clGrey (kul rang), clSilver (kumush rang, clAqua (havo rang) va yana o'ndan ortiq o'zgarmaslar mavjud.
133
Imagel. Canvas. Pen. color: =clRed; operatori chiziladigan chiziq rangini qizilga o'zgartiradi. Delphi da 16 milliondan ortiq ranglardan foydalanish mumkin. Bu ranglaming barchasa uchta asosiy rang: qizil, yashil va ko'k ranglami qo'shish orqali yaratiladi.
Asosiy ranglaming har biri uchun bir bayt ajratiladi. Bu uchta baytda 224=16777216 xil rangni saqlash mumkin. Ranglaming tartib raqamini 16 lik sanoq sistemasida yozish qulay. Bu sanoq sistemasida uch baytga 6 xonali son mos keladi. Ulardan eng kichik ikkita xona qizil, o'rtadagi ikki xona yashil, va eng katta ikki xona ko'k rangga mos keladi: $BBGGRR (bu yerda BB ko'k rangga, GG yashil, RR qizil rangga mos raqamlar.
Masalan, ko'k rang $FF0000, yashil $00FF00, qizil $0000FF, sariq
$00FFFF, pushti rang $FF00FF o'n oltilik son bilan ifodalanadi. Agar o'n oltilik sanoq sistemasida ishlash noqulay bo'lsa, u holda RGB(RR, GG, BB) standart funksiyadan foydalanish mumkin.
Bu funksiyaning uchta argumenti bo'lib, ulardan birinchisi qizil, ikkinchisi yashil, uchinchisi ko'k ranglarga mos keladi. Bu argumentlaming qiymatlari 0 dan 255 gacha bo'lishi mumk:in. Masalan, RGB(0, 0, 0) qora
rangni, RGB(255, 255, 255) oq rangni, RGB(0, 255, 255) havo rangni,
RGB(127, 0, 0) to'q qizil rangni, RGB(0, 127, 0) to'q yashil rangni, RGB(200, 200, 0) to'q sariq rangni beradi.
Brush (mo'yqalam)ning rangi ham shu tarzda aniqlanadi. Uning stilini quyidagi o'zgarmaslar orqali o'zgartirish mumk:in:
bsSolid - sidirg'a (bir tekis).
bsClear - ko'rinmas.
bsBDiagonal - yon diagonal bo'ylab.
bsFDiagonal - asosiy diagonal bo'ylab.
bsCross - panjarasimon.
bsDiagCross - diagonal bo'ylab panjara.
bsHorizontal - gorizontal.
bsVertical - vertikal.
Do'stlaringiz bilan baham: |