C# ile Temel Grafik İşlemleri

Batuhan Düzgün tarafından yayınlanmıştır 4. November 2010 03:04

Herkese merhaba arkadaşlar sizlere bu yazımda C# programlama diliyle temel grafik çizdirme işlemlerini anlatacağım.Java ve C# gibi programlama dillerinde gerçektende grafiksel olarak bir şeyler çizdirmek pekte zor değil.Şimdi isterseniz ilk olarak,hem ısınma turu açısından hem de alışma açısından,bir kaç tane küçük grafik çizdirme işlemlerine bakalım.
 
İlk iş olarak Visual Studio 'da bir "Form Application" açıyoruz.İlk çizdireceğimiz şekil kare olucak.Bunun için From nesnemiz seçiliyken Properties panelinden şimşek şeklinde bulunan simgeye tıklıyoruz.Bu simgeye tıklayınca Form ile ilgili bütün Event'lar,yani olay metodları gelecektir.Bize çizdirme işleminde yardımcı olacak olan "Form_Paint" metodunu seçiyoruz ve seçtikten sonra enter'a basıp devam ediyoruz.Şimdi bunun içine kare çizdirecek olan kodları yazıyoruz.
 
System.Drawing başlığını projeye eklemeyi unutmayınız. 
 
 private void Form1_Paint(objectsender, PaintEventArgs e)

        {

            Graphicsg; //grafiksel işlemlere yardımcı olacak olan değişkenimiz.

            g = this.CreateGraphics();//g nesnesine this anahtar sözcüğü ile kullandığımızformdan bir grafik nesnesi ürettiriyoruz.

            PenMyPen = new Pen(Color.Blue);//bu kod satırındaPen tipinden bir nesne yaratıp karemizin,rengini set ediyoruz.

            //buMyPen adlı nesneyi çizim yaptırırken renklendirme için kullanacağım.

            RectangleKare = new Rectangle(50,50, 75, 75);

            //X=50Y=50 yani başlangıç noktaları form üzerinde X'den 50 olan,

            //Y'den50 olan ve eni ve boyu 75 birim olan bir kare oluşturduk.Şablonu hazırladık,rengimizhazır

            //Şimdi çizimyapabiliriz !

 

            g.DrawRectangle(MyPen, Kare);//karemizi ve rengini DrawRectangle sınıfı içerisine atıyoruzve çizimi yapıyoruz.

 

        }

 

Yukarıdaki kodda açıklamalar verildi.Şimdi de sonucu inceleyelim.

  

 
Evet kare çizdirdik.İçi dolu kare çizdirmek için ise bir kaç değişiklik yeterli olacaktır. İlk değişiklik olarak "Pen" tipinde bir nesne değil de,yerine "Brush" tipinde bir nesne üretip, "FillRectangle" metodunu kullanacağız.Ve içi dolu bir kare elde edeceğiz.
 
Kare çizdirme işleminden sonra Form üzerine bir string ifadeyi nasıl çizdiririz,bunu inceleyelim.
 

private void Form1_Paint(objectsender, PaintEventArgs e)

        {

            Graphicsg; //grafiksel işlemlere yardımcı olacak olan değişkenimiz.

            g = this.CreateGraphics();//g nesnesine this anahtar sözcüğü ile kullandığımızformdan bir grafik nesnesi ürettiriyoruz.

 

            FontMyFont = new Font("Arial",24);//yazıtipimizi Arial ve büyüklüğü 24 olan bir Font nesnesi oluşturuyoruz.

            BrushMyBrush = new SolidBrush(Color.Red);//yazımızırenklendirecek olan MyBrush adlı nesnemiz.

            g.DrawString("Bilgisayar Mühendisliği", MyFont,MyBrush, 15, 15);//X=15 ve Y=15 noktasına konumlu,

            //BilgisayarMühendisliği ifadesini form üzerine çizdirme işlemini yaptığımız satır.

        } 
 
Evet bir kez daha derleyip sonuçları inceleyelim.
 
 
 
 
Evet son olarakta bir poligon nasıl form üzerine çizdirilir,bunu incleyip,bugünlük yazımı noktalayacağım. Yine aşağıda kodlar ile açıklamaları mevcut.Bir inceleyelim.
 

private void Form1_Paint(objectsender, PaintEventArgs e)

        {

            Graphicsg; //grafiksel işlemlere yardımcı olacak olan değişkenimiz.

            g = this.CreateGraphics();//g nesnesine this anahtar sözcüğü ile kullandığımızformdan bir grafik nesnesi ürettiriyoruz.

 

            Point[]SekilNoktalarDizisi=new Point[5];//poligonumuz için 5 limitlibir dizi tanımlıyoruz.

            PointNokta = new Point(15,18);//çeşitli noktalar oluşturup diziye ekliyoruz.

            SekilNoktalarDizisi[0] = Nokta;

            Nokta = newPoint(40, 60);

            SekilNoktalarDizisi[1] = Nokta;

            Nokta = newPoint(90, 30);

            SekilNoktalarDizisi[2] = Nokta;

            Nokta = newPoint(120, 140);

            SekilNoktalarDizisi[3] = Nokta;

            Nokta = newPoint(180, 150);

            SekilNoktalarDizisi[4] = Nokta;

 

            //Pen sınıfındanbir adet nesne tanımlıyoruz.

            PenMyPen = new Pen(Color.Brown);//renginikahverengi olarak ayarlıyoruz.

 

            //poligonuçizdirme işlemini pen nesnesini ve noktalar dizisini verip hallediyoruz.

            g.DrawPolygon(MyPen, SekilNoktalarDizisi);

        } 
 
Birde çalışıyormu kontrol edelim.
 
 
 
Umarım yararlı bir makale olmuştur.Özellikle Sakarya Üniversitesi Bilgisayar Mühendisliği 2. Sınıf öğrencileri için :) Bir sonraki makalemde görüşmek dileğiyle ...
 
Batuhan Düzgün
 
Sakarya Üniversitesi
 
Bilgisayar Mühendisliği 

Currently rated 4.2 by 11 people

  • Currently 4.181819/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Etiketler:

C#

Comments

Add comment


(Will show your Gravatar icon)  

  Country flag

biuquote
  • Comment
  • Preview
Loading





Bu site BlogEngine.NET 1.4.5.0 ile oluşturulmuştur. Türkçe çevirisi BlogEngine TR ekibi tarafından yapılmıştır.

Batuhan Düzgün

Sakarya Üniversitesi 

Bilgisayar Mühendisi

Endüstri Mühendisi

Yeditepe Üniversitesi

Bilgisayar Mühendisliği Yüksek Lisans 

 sahibinden.com

   Kıdemli Uzman Yazılım Mühendisi  

E-Mail 

   batuhan.duzgun@sahibinden.com

   batuhan.duzgun@windowslive.com

  github.com/batux

 

Sayfalar

Calendar

<<  November 2018  >>
MoTuWeThFrSaSu
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789

Yazıları geniş takvimde göster