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 çizimyapı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ı toplam 4.135 defa okunmuş.
Yazıya
Garip ama C# ile yapılan bazı uygulamalar Java ile büyük benzerlik gösteriyor.
Evet, tabiki öyle olabilir. Dilediğiniz herhangi bir ürünü gerek yazılım gerek class yapısı veya ara form olarak herhangi bir düşük seviyeli programlama dili ile yazabilirsiniz.
Bir kare veya elipsi C ailesinin tüm dillerinin yanısıra Java ve vb.net ile de yazmak mümkündür.
allah razı olsun kardeşim
COk guzel