c# ile çizim yapma (işte ne bilim kare, daire, elips falan)

15 Ağustos 2008 tarihinde Ali TOPALOĞLU tarafından yazılmış.

Hangi programlama dilini kullanırsanız kullanın .NET ortamında çizim yapmak hiç de gözüktüğü gibi zor bir olay değil. Zaten .net in içindeki GDI+ kütüphanesinde çizim yapmak için gereken herşey mevcut. Adamlar bize sadece alın ve kullanın diyor. Yani kare, daire, elips vb. nesnelerin çizimini oldukça kolay hale getiren bir kütüphane. Peki genel olarak nasıl bir mantık bu, gelin bi bakalım.

1. Graphics (çizim yapabilmemizi sağlayacak olan nesne bu) nesnesini hangi yüzey üzerine çizim yapacaksak o yüzeyden oluşturuyoruz.ÖR: çizim form üzerinde yapılacaksa;
Graphics graph = this.CreateGraphics();

veya picturebox üzerinde yapılacaksa;

Graphics

graph = pictureBox1.CreateGraphics();
kullanmamız gerekir.

2.   Çizilecek nesnelerin koordinatları ve boyutları belirtilir.

// Tam olarak karenin   çizilmeye başlayacağı noktadan bahsediyorum.

Point ptSquare = new Point(10,100);

//Karenin boyutu

Size szSquare = new Size(50,50);

Form üzerinde x=10, y=100 koordinatından başlamasını istiyoruz mesela…

Genişlik=50, yükseklik=50….

3.   Çizim rengi ve kalınlığı için Pen nesnesi//Kırmızı renkte ve kalınlığı 2 olan kalemi elimize aldık :) anlamına gelir aşağıdaki kodcuk

Pen benimpenim = new Pen(Color.Red,2);

4. Çizim fonksiyonunu çağıralım bi de//Kareyi Çiz

graph.DrawRectangle(benimpenim, new Rectangle(ptSquare, szSquare));

Tabiki bu kadar değişkenlerle uğraşmayalım doğrudan çizelim diyenler için de yukarıdaki çizimi şu şekilde de yapabiliriz.

graph.DrawRectangle(new Pen(Color.Red, 2), new Rectangle(10, 100, 50, 50));

Burada önceden tanım yapmayıp direk çaığırılan fonksiyon içinde verdik gerekli bilgileri

Bütün kod bloğu şu şekilde olur toparlarsak:

private void btnDraw_Click(object sender, EventArgs e)
{

//Bu nesne sayesinde çizim yapabiliyoruz. Hangi yüzey üzerine çizim
yapılacaksa o nesneden Graphics nesnesi üretilmelidir.

Graphics graph = this.CreateGraphics();

//Karenin çizilmeye başlayacağı nokta

Point ptSquare = new Point(10,100);

//Karenin boyutu

Size szSquare = new Size(50,50);

//Dairenin çizilmeye başlayaağı nokta

Point ptCircle = new Point(100,100);

//Dairenin boyutu

Size szCircle = new Size(50,50);

//Elipsin çizilmeye başlayacağı nokta

Point ptEllipse= new Point(200,100);

//Elips boyutu

Size szEllipse= new Size(100,50);

//Kırmızı renkte ve kalınlığı 2 olan kalemi elimize aldık :)

Pen benimpenim = new Pen(Color.Red,2);

//Kareyi Çiz

graph.DrawRectangle(benimpenim, new Rectangle(ptSquare, szSquare));

//Daireyi Çiz

graph.DrawEllipse(benimpenim, new Rectangle(ptCircle, szCircle));

//Elips Çiz

graph.DrawEllipse(benimpenim, new Rectangle(ptEllipse, szEllipse));

}

Örnek programı indirmek için tıklayınız

NOT: birimci durumdaki gibi adım adım yapmak en mantıklısı çünkü yazılan kod blokları uzadıkça parametrelerin ne olduklarını hatırlamak oldukça güç hale geliyor ve anlamak için çok fazla efor sarf etmek gerekiyor. Bunlar gereksiz şeyler. Bence tabi :)



   Bu yazı Ali TOPALOÄžLU tarafından Programlama, c# kategorisine eklenmiÅŸtir.
   , , , , , , olarak etiketlenmiÅŸtir.
   Bu yazı toplam  651 defa okunmuÅŸ.
   Buraya tıklayarak sayfayı yazıcıdan çıkartabilirsiniz.
  
  Yorum yapcam Yazıya yorum yapabilir, yapılan yorumları RSS 2.0 ile takip edebilirsiniz.
EkleBunu Sosyal Paylaþým Butonu


Mesaj Yaz





Kayıt olun, yazılar yazın
Siz de görüşlerinizi paylaşın
  • Yükleniyor...


    Loading...

    Sisteme GiriÅŸ







    Kayıt Ol | Parolamı unuttum

    Kayıt Ol





    Parolanız e-mail adresinize gönderilecektir.

    Giriş | Parolamı unuttum

    Parolamı unuttum





    E-mail adresinize parolanızı sıfırlamanız için bir link gönderilecektir.

    Giriş | Kayıt Ol