12-MAVZU: Visual C++ning grafik imkoniyatlari.
Reja:
Visual C++ning grafik imkoniyatlari
Graphics sinfi usulari asosida tasvirlarni qurish
Chart komponentalari.
Funksiyalarning grafiklarini qurish.
Visual Basic Power Packs komponentalari va ularni ishlatish.
Kalit so’zlar: char turidagi massiv, string, strlen(), sizeof(), strcpy(), strcat(), strstr(), strchr(), assign(), append(), resize(), insert(), delete(), add().
Visual C++ o‘zi grafik tuzilmali mug‘it bo‘lib hisoblanadi. Grafik deganda ixtiyoriy narsani kompyuterda piksellarda hosil qilish tushuniladi. Pikselda ikkita argumentlari bor, yaʻni koorlinatalari A(x,u) ko‘rinishida. Har qanday IDE muhitlarda grafika bilash ishlash imkoni bor. Ular turlicha nomlanishi mumkin. Ammo, ularning ruchkasi (qalami) va mo‘yqalami bo‘ladi. GUI ko‘rinishda ishlash to‘liq grafika bilan bog‘liq bo‘lib, texnikaning grafik rejimda ishlashini taʻminlaydi. Hozirda deyarli barcha foydalanuvchilar grafik imkoniyatlaridan foydalanib ishlaydilar.
Visual C++ning grafik imkoniyatlari. Grafik imkoniyatga ega bo‘lgan tizimlarda asosan, nuqta, chiziq, to‘rt burchak, aylana, ko‘p burchak kabi shakllarni qamrab oladi. GUI asosidagi barcha elementlarga diqqat bilan qarasangiz shu grafik tuzilmalardan iborat bo‘ladi.
Visual C++ning imkoniyatlarini ko‘rish uchun Graphics sinfiga murojaat qilamiz. Bu sinfning nomlar fazosi System.Drawing va kutubxonasi System.Drawing.Common.dll bo‘lib hisoblanadi.
Chizish uchun GDI+ modulni inkapsulyatsiya qiladi va bu sinfdan merosxo‘r olish mumkin emas. Bu sinf MarshalByRefObject, IDisposable, System::Drawing::IdeviceContextga asoslangan bo‘lib, Object → MarshalByRefObject
→ Graphics sinfining merosxo‘ri hisoblanadi.
Grafika sinfi ekranga tasvirlarni chizish usullarini o‘zi ichiga qamarab olgan.
Grafika muayyan qurilmani kontekst bilan bog‘lash uchun ham xizmat qiladi.
Grafik obʻyekt yordamida ko‘p turli shakl va chiziqlar chizish mumkin. Chiziqlar va shakllar chizish uchun maxsus DrawGraphicalElement usullarni o‘rganish lozim. Bu usullar DrawLine, DrawArc, DrawClosedCurve, DrawPolygon va DrawRectangle o‘z ichiga oladi. Chiziqlar va shakllar chizish uchun qalam yordamida va shakllarni to‘ldirish uchun mo‘yqalam yordamida amalga oshiriladi.
Grafika sinfi imkoniyatlarini uning xususiyatlari va usulari orqali ko‘rsatib o‘tamiz. Shuning yangi paraemet kelsa, unga ham to‘xtalib o‘tiladi.
12.1-jadval. Grafika sinfi xususiyatlari.
Xususiyait nomi
|
vazifasi
|
Clip
|
Grafikaning chizilgan chegarasini cheklaydigan chegarani oladi yoki o‘rnatadi.
|
ClipBounds
|
Grafikaning kesish chegarasini chegaralovchi RectangleF tuzilishini oladi.
|
CompositingMode
|
Kompozit tasvirlar chizish holatini oladi yoki o‘rnatadi.
|
CompositingQuality
|
Grafikaga chizilgan kompozitsion tasvirlarning ko‘rsatish sifatini o‘rnatadi.
|
DpiX
|
Ushbu grafikaning gorizontal o‘lchamini oladi.
|
DpiY
|
Ushbu grafikaning vertikal o‘lchamini oladi.
|
InterpolationMode
|
Ushbu grafikalar bilan bog‘liq interpolyatsiya rejimini oladi yoki o‘rnatadi.
|
IsClipEmpty
|
Bu grafika kesish sohasini bo‘sh yoki yo‘qligini ko‘rsatib, bir qiymat oladi.
|
IsVisibleClipEmpty
|
Bu grafika aniq kesish sohasini bo‘sh yoki yo‘qligini ko‘rsatib, bir qiymat oladi.
|
PageScale
|
Bu grafika uchun sahifa moduli va birlik moduli o‘rtasida chegarasini sozlash.
|
PageUnit
|
Bu grafika sahifa koordinatalarini uchun ishlatiladigan o‘lchov birligi sozlash.
|
PixelOffsetMode
|
Bu grafika ko‘rsatish paytida Piksel ofset qanday ko‘rsatilgan qiymat sozlash.
|
RenderingOrigin
|
Bu grafika ko‘rsatish rejimini o‘rnatadi.
|
SmoothingMode
|
Grafikalar uchun ko‘rsatish sifatini oladi yoki o‘rnatadi.
|
TextContrast
|
Matn ko‘rsatish uchun gamma qiymatini belgilash.
|
TextRenderingHint
|
Bu grafika bilan bog‘liq matn uchun ko‘rsatish rejimini o‘rnatadi.
|
Transform
|
Grafikalar uchun geometrik o‘zgarishining nusxasini oladi yoki o‘rnatadi.
|
VisibleClipBounds
|
Grafikning aniq kesish sohasini tekslash uchun to‘rtburchak oladi.
|
Grafika sinfi usulari quyidagilardan iborat:
AddMetafileComment(Byte[]) - Rasm metafayliga izoh qo‘shadi. Bunda Byte[] belgili massiv bo‘lib, ^ data tipida aniqlanadi va masalan, array^metaCom = {(Byte)'T',(Byte)'e',(Byte)'s',(Byte)'t'}; kabi aniqlanishi mumkin.
BeginContainer() - Grafikaning hozirgi holati bilan grafik konteynerni saqlaydi va yangi grafik konteynerni ochadi va ishlatadi.
BeginContainer(Rectangle, Rectangle, GraphicsUnit) - Grafik joriy holati bilan bir grafik konteyner saqlaydi, belgilangan parametrli o‘zgartirish bilan yangi grafik konteynerdan foydalanadi va ochadi. Bunda Rectangle to‘rt burchak bo‘lib, Rectangle(0,0,200,200) kabi aniqlanadi. Birinchi to‘rt burchak konteyner uchun shkalani va ikkinchisi konteyner uchun soha o‘zgarishiri aniqlaydi. GraphicsUnit – konteyner uchun o‘lchov birligini aniqlash uchun ishlatiladi.
Do'stlaringiz bilan baham: |