Amaliy matematika va intellektual texnologiyalar fakulteti
Download 447.75 Kb.
|
kurs ishi c# new
- Bu sahifa navigatsiya:
- Tugmani bosganingizda shakllar paydo boladi (kvadrat, ellips, chiziq)
private void button1_Click(object sender, EventArgs e)
{
"{}" Jingalak qavslari orasida siz tugmani bosish hodisasida bajariladigan kodni yozishingiz kerak . C # da grafika Grafika. .NET doirasi ko'rsatishni qo'llab-quvvatlash uchun nom maydonlarining to'liq to'plamini taqdim etadi ikki o'lchovli grafikalar. Chizish uchun biz Drawing nom maydonidan foydalanamiz, chunki bu biz uchun etarli, chunki biz eng oddiy rasmlarni chizamiz. Chizish paytida e'tibor bering quyidagilar, chunki ba'zi shakllarni rang bilan to'ldirishimiz kerak, buyurtma bu erda muhim, avval to'ldirishni, so'ngra qon tomirini to'ldirishni unutmang. Chizish uchun biz qalamdan, aniqrog'i, statik xususiyatlardan foydalanamiz Qalamlar oilasidan Masalan:
Cho'tkalar Moviy; // ko'k cho'tka. To'g'ridan-to'g'ri chizish uchun quyidagi ob'ektlardan foydalaniladi: Qator: DrawLine ();. // Chizish uchun 5 ta parametr talab qilinadi: 1. chiziq rangi, Qalamlar oilasidan foydalaning. 2. Yuqori chap burchakning koordinatalari 3. Pastki o'ng burchakning koordinatalari Masalan:
DrawLine (Qalamchalar, Qora, 100, 100, 500, 500); To'rtburchak: (avval to'ldirishni, keyin ikkalasini ham unutmang) FillRectangle (); Chizish uchun 5 ta parametr kerak: 1. rangni to'ldiring, Brushes oilasidan foydalaning. 2. Yuqori chap burchakning koordinatalari Masalan: FillRectangle (Brushes, Bej, 100, 100, 500, 500); // to'rtburchaklar maydonni to'ldirgan DrawRectangle (qalamlar, qizil, 100, 100, 500, 500); // zarba
Ko'pburchak toyek massividan qurilgan, shuning uchun avval siz qator yaratishingiz kerak Point [] tt = {yangi nuqta (20, 10), yangi nuqta (10, 40), yangi nuqta (45,100), yangi nuqta (50b 80)}; Va keyin ko'pburchakni chizish g.DrawPolygon (Qalamlar, Yashil, tt); Va agar kerak bo'lsa, uni to'ldiring g.FillPolygon (qalamlar. Yashil, tt); Miqyoslanadigan rasm Biz ko'rib chiqqan barcha narsalar C # da grafik ibtidoiylarni chizishga imkon beradi. Ammo bitta narsa bor, ammo agar shunday bo'lsa rasmni yaratgandan so'ng, biz shaklning o'lchamini o'zgartirishga harakat qilamiz, shunda biz uning o'lchamini bilib olamiz tasvir o'zgarmaydi. Va shakli pasayganda, tasvir kesiladi, ya'ni uning bir qismi u chiqadi, go'yo formaning tashqarisida va biz uni ko'rmayapmiz. Muammo shundaki, shaklni masshtablash paytida o'lchov birligi kamaymaydi (bu printsipial ravishda mumkin emas, chunki shaklning o'lchami piksel bilan o'lchanadi), lekin kamayadi piksellar soni. Ushbu muammoni hal qilish uchun biz o'z koordinatalar tizimini yaratishga majbur bo'lamiz. Boshlang yuqori chap burchakda o'sha joyda qoladi. Ammo biz o'lchov birligini o'zgartiramiz, biz uni bog'laymiz to'g'ridan-to'g'ri shakl o'lchamlariga va shu bilan shakl o'lchamlari o'zgartirilganda, bizning o'lchov birligimiz ham farq qiladi. Tushunadigan birinchi narsa shundaki, biz faqat shaklning mijoz tomoniga chizamiz, ya'ni qila olmaymiz sarlavha, menyu va boshqalarga rasm chizish. Misol 1. Tugmani bosganingizda shakllar paydo bo'ladi (kvadrat, ellips, chiziq) private void button2_Click(object sender, EventArgs e) { Graphics g = this.CreateGraphics(); // Подготавливаем перо, рисующее красную линию толщиной 3 пикселя Pen redPen = new Pen(Color.Red, 3); // С помощью пера рисуем прямую линию, прямоугольник и эллипс g.DrawLine(redPen, 140, 170, 140, 230); g.DrawRectangle(redPen, 50, 60, 50, 60); g.DrawEllipse(redPen, 150, 100, 100, 60); g.Dispose(); // Очистка } Пример 2. Ветка параболы. private void button2_Click(object sender, EventArgs e) { Graphics gr = this.CreateGraphics(); Pen myPen = new Pen(Color.BlueViolet); int k = 100; float xmin = 0, xmax = 2, ymin = 0, ymax = 4; float xstep = (xmax - xmin) / k; float kx = this.Width / xmax, ky = this.Height / ymax; float x1 = xmin, y1 = x1 * x1, x2, y2; for (int i = 0; i < k; i++) { x2 = x1 + xstep; y2 = x2 * x2; gr.DrawLine(myPen, kx * x1, this.Height - ky * y1, kx * x2, this.Height - ky * y2); x1 = x2; y1 = y2; } } Пример 3. «Летящая окружность» private void button1_Click(object sender, EventArgs e) { Graphics g = this.CreateGraphics(); Pen redPen = new Pen(Color.Red, 3); // красное перо for (int i = 0; i < 100; i+=1) // координаты центра изменяются { g.DrawEllipse(redPen, i+100, i+40, 10, 10);// рисуем эллипс for (int j = 0; j < 10000000; j++) //пустой цикл для задержки времени { } g.Clear(Color.White); //стираем нарисованный эллипс } g.Dispose(); } private void button2_Click(object sender, EventArgs e) { Graphics gr = this.CreateGraphics(); Pen myPen = new Pen(Color.BlueViolet); int k = 100; float xmin = 0, xmax = 2, ymin = 0, ymax = 4; float xstep = (xmax - xmin) / k; float kx = this.Width / xmax, ky = this.Height / ymax; float x1 = xmin, y1 = x1 * x1, x2, y2; for (int i = 0; i < k; i++) { x2 = x1 + xstep; y2 = x2 * x2; gr.DrawLine(myPen, kx * x1, this.Height - ky * y1, kx * x2, this.Height - ky * y2); x1 = x2; y1 = y2; } } Пример 3. «Летящая окружность» private void button1_Click(object sender, EventArgs e) { Graphics g = this.CreateGraphics(); Pen redPen = new Pen(Color.Red, 3); // красное перо for (int i = 0; i < 100; i+=1) // координаты центра изменяются { g.DrawEllipse(redPen, i+100, i+40, 10, 10);// рисуем эллипс for (int j = 0; j < 10000000; j++) //пустой цикл для задержки времени { } g.Clear(Color.White); //стираем нарисованный эллипс } g.Dispose(); } Vazifa 1. Kardan odamni chizish (uchta to'ldirilgan to'p, burun sabzi, boshidagi shapka) Vazifa 2. Dasturni jadval bilan yakunlang. Dastur parabola y = a * x (ikkita shox bilan) va parametrni chizish kerak Matn maydonidan o'qilgan "A". (O'qlarni ko'rsatish maqsadga muvofiqdir koordinatalar) Vazifa 3. Uchayotgan narsaning effektini yarating shaklning chetiga yoki boshqa shaklga uchib, undan uchib ketadi. Vazifa 4. Yomg'ir yoki miltillovchi yulduzlar ta'sirini yarating osmon. (shakllar paydo bo'ladi va tasodifiy yo'qoladi) Vazifa 5. Sichqoncha tugmachasini siljitish va bosishda u chiziladi chiziq.
Download 447.75 Kb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling