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.