Microsoft Word Amaliy atd ki att ax 4


Download 0.58 Mb.
Pdf ko'rish
Sana03.04.2023
Hajmi0.58 Mb.
#1322396
Bog'liq
1-amaliy



A1. Grafikaga doir masala yechish
Grafika misolida OYD ning afzalliklari, sinflardan foydalanish mazmuni, 
ularning metod va xossalari aniq koʻrsatilgan. Loyihangizning nomlar sohasiga tegishli 
kutubxonalarni qo'shish orqali siz darhol grafika uchun zarur bo'lgan vositalar 
to'plamini olasiz. Bular grafik primitivlar (chiziqlar, to'rtburchaklar, ellipslar va 
boshqalar), chizish uchun qalam, bo'yash uchun cho'tka va boshqa ko'plab foydali 
ob'ektlar va metodlardir. 
Sizga ma’lumki, 2D-grafika rastrli va vektorli boʻladi. Rastrli tasvir – bu *.bmp, 
*.jpg, *.png va hk fayllarda saqlanuvchi toʻgʻri toʻrtburchak sohasida berilgan rangli 
piksellar toʻplami. Eng sodda rastrli moharrir – Paint dasturi. Vektorli grafika rastrliga 
qaraganda ancha tejamkorroq (xotira hajmi boʻyicha). Toʻgʻri toʻrtburchak chizish 
uchun ikkita nuqta (yuqori chap va pastki oʻng burchak) koordinatasini, chiziq rangi 
va qalinligini berish yetarli. Ushbu mavzuda asosan vektorli grafika metodlarini qarab 
chiqamiz. 
System.Drawing (chizish) nomlar sohasi 50 (!) atrofidagi sinflardan, shu 
jumladan, Graphics sinfidan foydalangan holda GDI+ grafik interfeysi imkoniyatlari 
funksionalligiga ruxsatni ta’minlaydi.
Keyinroq System.Drawing kutubxonasi 
funksional 
imkoniyatlarini 
kengaytiruvchi 
qoʻshimcha 
nomlar 
sohalari 
System.Drawing.Drawing2D, System.Drawing.Imaging, System.Drawing.Printing, 
System.Drawing.Text qoʻllaniladi. 
Класс
Graphics
sinfi tasvirlash qurilmasi (boshqa atamalar – grafik kontekst, 
canvas) da chizish metodlarini taqdim etadi. Dastlab, nimada chizishni xoxlashimizni 
aniqlab olamiz. Keyingi misollarda g ob’yekti sifatida belgilanadi. 
Canvas hosil qilish usullari
1. Grafik ob’yekt – canvas Form1 formasida chizish uchun (this koʻrsatkichi), 
masalan, bitta operator bilan berilishi mumkin: 
Graphics g = this.CreateGraphics(); 
Eslatma. E’tibor bering,
Graphics g = new Graphics(); 
standart holatida canvas-ob’yektini yaratib boʻlmaydi.
Bu operatorda xatolik generatsiyalanadi: 
«System.Drawing.Graphics» tipi uchun konstruktor aniqlanmagan. 
2. Yana bir misol, Grafik kontekstning PictureBox (chizma qutisi) visual 
komponentasida Bitmap sinfi rastrli ob’yekti orqali berilishi. Form1 sinfida ikkita 
ob’yektni beramiz: 
Graphics g; // grafik ob’yekt – qandaydir canvas 
Bitmap buf; // Bitmap-tasvir uchun bufer 
Form1() konstruktorida quyidagi operatorlarni qoʻshamiz: 
buf = new Bitmap(pictureBox1.Width, pictureBox1.Height); // oʻlchamlar bilan 
g = Graphics.FromImage(buf); // g initsializatsiyasi 
3. Ba’zida (agar barcha grafik amallar bitta funksiya ichida bajarilsa) bu toʻrt 
satr bitta satr bilan almashtirilishi mumkin: 
Graphics g = Graphics.FromImage (new Bitmap(pictureBox1.Width, pictureBox1.Height)); 


Shundan soʻng canvas fon rangini oq berish mumkin: 
g.Clear(Color.White); 
4. Yana bir misol oyna desriptori orqali formada canvasni berish: 
Graphics g = Graphics.FromHwnd(this.Handle); 
Keyingi misollarda bu usullar aniqroq beriladi. 
System.Drawing kutubxonasi sinflarining ob’yektlari
Rectangle (toʻgʻri turtburchak) va Point (nuqta) kabi sinflar GDI+ elementlarini 
inkapsulyatsiyalaydi. E'tibor bering, Point aslida x, y maydonlari bo'lgan struktura 
(struktura). Bu tushuntirish muhim emas, chunki C# da point struktura ob’yekti 
initsializatsiyasi xuddi sinf ob’yekti initsializatsiyasi kabi koʻrinishda boʻladi: 
Point point= new Point(); 
Pen (qalam) sinfi chiziqlarni chizish uchun qoʻllaniladi, Brush (choʻtka) sinfidan 
olingan voris sinflar esa yopiq konturli sohalarni boʻyash uchun qoʻllaniladi. 
GraphicsPath sinfi ulangan chiziqlar va egri chiziqlar ketma-ketligini aniqlash 
imkonini beradi, Region sinfi koʻpburchak va konturlardan tashkil topgan grafik 
formalarning ichki qismini tavsiflaydi. 
Image sinfi – abstract asosiy sinfi Bitmap va Metafile hosila sinflari uchun 
funksional imkoniyatlarni taqdim etadi. Bitmap pikselli tasvirlar bilan ishlash uchun 
qoʻllanadi. Metafile yozilishi (yaralishi) va ijro etilishi (koʻrsatilishi) mumkin boʻlgan 
grafik operatsiyalar ketma-ketligini tavsiflovchi yozuvlarni oʻz ichiga olgan grafik 
metafaylni belgilaydi. Bu sinf vorislanmaydi.
Foydalanish uchun adabiyot va manbalar: 
1. Троелсен Эндрю, Джепикс Филипп. Язык программирования C# 7 и 
платформы .NET и .NET Core. Вильямс. 2018 
2. A. Troelsen, P. Japikse. Pro C# 8 with .NET Core. Foundational Principles and 
Practices in Programming. Apress, 2020 
3. Албахари Бен, Албахари Джозеф. C# 7.0. Справочник. Полное описание языка. 
Пер. с англ.-СПб: “Альфа-книга”, 2018, -1024 с. 
4. https://metanit.com/sharp/windowsforms/ 

Download 0.58 Mb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling