08 December 2016

GDI+ Metodları Kullanım Örnekleri

Kare Çizmek: Kare çizmek için DrawRectangle() metodu kullanılır. Form üzerine bir kare çizebilmek için formun
Paint() metodunu aşağıdaki gibi düzenlememiz gerekir.

private void Form1_Paint(object sender, PaintEventArgs e)
 {
 Graphics kare; //kare değişkenini tanımladık
 Pen kareKalemi = new Pen(Color.Blue, 6); //çizginin rengi ve kalınlığı (piksel olarak) belirlendi(default 1 pikseldir)
 kare = this.CreateGraphics();
 kare.DrawRectangle(kareKalemi, 10, 10, 50, 50); //Pen tipindeki değişken ve dikdörtgenin koordinatları belirlendi
 }

Karenin içinin dolu olması için DrawRectangle() yerine FillRectangle() metodunu, Pen() metodu yerine de SolidBrush() metodunu kullanabiliriz.

private void Form1_Paint(object sender, PaintEventArgs e)
 {
 Graphics kare;
 SolidBrush firca = new SolidBrush(Color.Black);
 kare = this.CreateGraphics();
 kare.FillRectangle(firca, 10, 10, 50, 50);
 }

Dikdörtgen çizmek: Dikdörtgen çizimini kare çizimi gibi yapıyoruz. Koordinatları verirken değişiklik yapıyoruz.

private void Form1_Paint(object sender, PaintEventArgs e)
 {
 Graphics dikdortgen;
 Pen firca = new Pen(Color.Black);
 dikdortgen = this.CreateGraphics();
 dikdortgen.DrawRectangle(firca, 10, 10, 50, 50);
 }

Daire Çizmek: Daire çizmek için kullanılan metot DrawEllipse() metodudur.
Forma bir adet buton ve panel ekleyelim ve butona tıklandığında daire çizilmesini sağlayalım.

Graphics daire; //global alanda değişkenimizi tanımladık.
private void Form1_Load(object sender, EventArgs e)
 {
 daire = panel1.CreateGraphics(); //panel nesnemizi çizime hazırladık
 }
private void button1_Click(object sender, EventArgs e)
 {
 Pen kalem = new Pen(Color.Red);
 daire.DrawEllipse(kalem, new Rectangle(new Point(10,10), new Size(50,50)));
//butona tıklandığında içi boş bir daire çizdirdik.

İçi dolu daire çizmek: bunun için FillEllipse() metodunu kullanacağız.

Graphics daire;
 private void Form1_Load(object sender, EventArgs e)
 {
 daire = panel1.CreateGraphics();
 }
 private void button1_Click(object sender, EventArgs e)
 {
 SolidBrush firca = new SolidBrush(Color.Red);
 daire.FillEllipse(firca, new Rectangle(new Point(10,10), new Size(50,50)));
 }
 }

Ellips Çizmek:

Graphics daire;
 private void Form1_Load(object sender, EventArgs e)
 {
 daire = panel1.CreateGraphics();
 }
 private void button1_Click(object sender, EventArgs e)
 {
 SolidBrush firca = new SolidBrush(Color.Red);
 daire.FillEllipse(firca, new Rectangle(new Point(10,10), new Size(140,80)));
 daire.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; //kaliteli görüntü için kullanılabilir.
 }

Daire Dilimi Çizmek: Kullanılan metot DrawPie() metodudur.

private void Form1_Paint(object sender, PaintEventArgs e)
 {
 Graphics dilim;
 dilim = this.CreateGraphics();
 Pen kalem = new Pen(Color.Blue, 3);
 dilim.DrawPie(kalem, 10,10, 100,100, 45,200);
}

Çizgi Çizmek: Kullanılan metot DrawLine() metodudur.

private void Form1_Paint(object sender, PaintEventArgs e)
 {
 Graphics cizgi;
 cizgi = this.CreateGraphics();
 Pen kalem = new Pen(Color.Blue, 3);
 cizgi.DrawLine(kalem, new Point(10, 10), new Point(50, 50));
 }

Poligon Çizmek: Kullanılan metot DrawPolygon() metodudur.

private void Form1_Paint(object sender, PaintEventArgs e)
 {
 Graphics poligon;
 poligon = this.CreateGraphics();
 Pen kalem = new Pen(Color.Blue, 3);
 Point[] p = new Point[6];
 p[0].X = 70;
 p[0].Y = 40;
 p[1].X = 140;
 p[1].Y = 40;
 p[2].X = 200;
 p[2].Y = 120;
 p[3].X = 140;
 p[3].Y = 200;
 p[4].X = 70;
 p[4].Y = 200;
 p[5].X = 20;
 p[5].Y = 120;
 poligon.DrawPolygon(kalem, p);
}

Yazı Yazmak: Kullanılan sınıf Font sınıfı, metod DrawString() metodudur.
Bu metodun kullanım şekli:
DrawString(“Yazdırılacak Metin”, Yazı Tipi, Yazı Rengi, Koordinat);

private void Form1_Paint(object sender, PaintEventArgs e)
 {
 Graphics yazi;
 yazi = this.CreateGraphics();
string str = textBox1.Text;
 Font f = new Font("Arial", 15, FontStyle.Bold | FontStyle.Italic);
 SolidBrush brush = new SolidBrush(Color.Blue);
 PointF p = new PointF(20, 20); //
 Koordinat belirlenirken PointF sınıfından yararlanılır
 yazi.DrawString(str, f, brush, p);
}

Resim çizmek: Kullanılan metot DrawImage() metodudur.

Bitmap bmp; //global değişkenlerimizi tanımlayalım.
 Graphics grp;
private void Form1_Load(object sender, EventArgs e)
 {
 bmp = new Bitmap("C:\\butterfly.png");
 grp = this.CreateGraphics();
 }
 private void Form1_MouseDown(object sender, MouseEventArgs e)
 {
 grp.DrawImage(bmp, e.Location);
 }

Trackbacks

  1. […] Metodları Örneklerinden burada bahsettim. Metodların en fazla kullanılan overloadları aşağıdaki […]