Microsoft Word Amaliy atd ki att ax 4
Download 0.58 Mb. Pdf ko'rish
|
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
ma'muriyatiga murojaat qiling