Presentation is loading. Please wait.

Presentation is loading. Please wait.

Klasa grafik.

Similar presentations


Presentation on theme: "Klasa grafik."— Presentation transcript:

1 Klasa grafik

2 Sistemske kontrole mozemo koristiti i za crtanje raznih oblika, sto se postize i koriscenjem metoda ugradjen klase Graphics. Objekat klase Graphics predstavlja povrsinu po kojoj se crta.Prvo ga moramo kreirati ,sto se postize pozivanjem metode CreateGraphics() za neku kontrolu ,kreira se objekat klase Graphics tako da je povrsina za crtanje upravo ta kontrola. Klasa Graphics sadrzi metode za crtanje raznih oblika, izmedju ostalih i : Drav Line – za crtanje linije DrawEllipse- za crtanje elipse DrawRectangle- za crtanje pravougaonika DrawArc –za crtanje proizvoljnog luka DrawBezier-za crtanje krive linije oko cetri tacke FillELLIPSE – ZA CRTANJE POPUNJENE ELIPSE FillRectangle –za crtanje poopunjenog pravougaonika Prostor za crtanje brisemo metodom Clear klase Graphics Npr. g.Clear(Color.White); objekat klase Graphics se popunjava belom bojom

3 Kreirani objekat klase Graphics zauzima odgovarajuce resurse naseg Sistema pa je potrebno , po zavrsetku crtanja , osloboditi te resurse koriscenjem metode Dispose() klase Graphics . Pri koriscenju metoda za crtanje neophodno je kreirati oluvku (objekat klase Pen) ako zelimo da crtamo konture zeljenog oblika ili cetku (objekat klase SolidBrush) ako zelimo popunjeni oblik. Klasa Pen je definisana u imenskom prostoru SystemDrawing. Objektom klase Pen definisemo sirinu, boju i stil linije.Stil je definisan svojstvom DashStyle cija je vrednost tipa DashStyle definisanog u imenskom prostoru System.Drawing. Drawing2D. Objekat klase Pen kreiramo pozivom konstruktora.najcesce se poziva konstruktor kome predajemo, kao parameter redom boju i sirinu objekta. Npr objekat olovka klase Pen cija je boja crvena a sirina 5, kreiramo na sledeci nacin Pen olovka=new Pen(Color.red,5);Kad zavrsimo sa koriscenjem objekta klase Pen potrebno je osloboditi resurse koje taj objekat koristio olovka.Dispose();

4 1. Kreirati aplikaciju kojom se u PictureBoxu crtaju dijagonale, pravougaonik ili elipsa. Izbor realizovati korišćenjem tri kontrole Button. private void btDijagonale_Click(object sender, EventArgs e) { pictureBox1.Refresh(); Graphics g=pictureBox1.CreateGraphics(); Pen olovka=new Pen(Color.Red,3); g.DrawLine(olovka,0,0,pictureBox1.Width,pictureBox1.Height); g.DrawLine(olovka,pictureBox1.Width,0,0,pictureBox1.Height); olovka.Dispose(); // nije neophodno g.Dispose(); // nije neophodno } private void btPravougaonik_Click(object sender, EventArgs e) // kreiranje grafickog objekta // ciscenje prostora za crtanje g.Clear(Color.White); // kreiranje olovke crvene boje, sirine 3 // crtanje pravougaonika g.DrawRectangle(olovka,10,10, pictureBox1.Width-20 , pictureBox1.Height-20); olovka.Dispose(); g.Dispose();

5 private void btElipsa_Click(object sender, EventArgs e)
{ pictureBox1.Refresh(); Graphics g=pictureBox1.CreateGraphics(); Pen olovka=new Pen(Color.Red,3); g.DrawEllipse(olovka,10,10, pictureBox1.Width-20 , pictureBox1.Height-20); olovka.Dispose(); g.Dispose(); } 3. Kreirati aplikaciju kojom se a) za dato r crta slika kao na crtežu, krugovi su sa centom u sredini objekta kalse PixtureBox, prvi krug je datog poluprečnika r, a svaki sledeći je za 10 veći od prethodnog

6 private void btCrtez1_Click(object sender, EventArgs e)
{ Graphics g = pictureBox1.CreateGraphics(); Pen olovka = new Pen(Color.Blue, 2); int w = pictureBox1.Width; int h = pictureBox1.Height; g.Clear(Color.White); g.DrawLine(olovka, w / 2, 0, 0, h / 2); g.DrawLine(olovka, 0, h / 2, w / 2, h); g.DrawLine(olovka, w / 2, h, w, h / 2); g.DrawLine(olovka, w, h / 2, w / 2, 0); olovka.Width = 5; olovka.Color = Color.Red; int r = Convert.ToInt32(textBox1.Text); g.DrawEllipse(olovka, w / 2 - r, h / 2 - r, 2 * r, 2 * r); r = r + 10; }

7 b) crta cržek kao na slici (objekat klase PictureBox se deli na 9 jednakih delova)

8 private void btCrtez2_Click(object sender, EventArgs e)
{ Graphics g = pictureBox1.CreateGraphics(); Pen olovka = new Pen(Color.Blue, 5); int w = pictureBox1.Width; int h = pictureBox1.Height; g.Clear(Color.White); g.DrawLine(olovka, w / 3, 0, w / 3, h); g.DrawLine(olovka, 2 * w / 3, 0, 2 * w / 3, h); g.DrawLine(olovka, 0, h / 3, w, h / 3); g.DrawLine(olovka, 0, 2 * h / 3, w, 2 * h / 3); olovka.Color = Color.Red; olovka.Width = 3; g.DrawLine(olovka, 0, 0, w / 3, h / 3); g.DrawLine(olovka, w / 3, 0, 0, h / 3); g.DrawLine(olovka, 2 * w / 3, 2 * h / 3, w, h); g.DrawLine(olovka, w, 2 * h / 3, 2 * w / 3, h); SolidBrush cetka = new SolidBrush(Color.Green); g.FillEllipse(cetka, w / 3 + 5, h / 3 + 5, (w / ), (h / )); cetka.Color = Color.Yellow; g.FillEllipse(cetka, w / , h / , (w / ), (h / )); }

9


Download ppt "Klasa grafik."

Similar presentations


Ads by Google