Grafik Nesneleri Özellikleri ve Grafik Oluşturma

C# programlama dili kullanılarak çeşitli yazılar yazdırılabilir, çizimler yaptırılabilir veya şekiller oluşturulabilmektedir. Bu işlemler GDI+ (Graphics Device Interface) grafik arayüzü ile sağlanmaktadır. GDI+ Windows tabanlı bütün uygulamalarda kullanılabilmektedir.

Yazılan programlar, istenilen grafiksel işlemleri yapmak için bilgisayardaki grafik donanımlarına(grafik kartı, ekran kartı vb.) ihtiyaç duymaktadır. Ancak bu donanımlara direkt olarak ulaşmaya windows izin vermemektedir. İşte burada GDI+ kütüphanesi imdada yetişerek istenilen şekilleri grafik kartına ulaştırarak bu çizimleri oluşturabilmemize olanak sağlamaktadır.

Grafik metotları, .NET Framework'deki System.Drawing namespace altında desteklenmektedir.

Grafik nesneleri ile çizim adımları aşağıdaki gibidir:

1.Grafik nesnesi oluşturulur.

2.Pen (Kalem) ve Brush (Fırça) nesneleri oluşturulur.

3.Çizim yöntemleri ile grafikler çizilir.

4.Sonrasında Pen, Brush ve Grafik nesneleri Dispose() yöntemiyle bellekten temizlenir.

Grafik Nesneleri

Grafik Nesnesinin Oluşturulması

Çizim fonksiyonları grafik nesnelerine uygulanır. Grafik nesneleri, istenilen çizim yöntemleri için bir yüzey sağlar (Kocabıçak, 2004). Bu işlemler iki adımdan meydana gelir. İlk olarak projeye System.Drawing kütüphanesi eklenir.

Daha sonra grafik nesnesi oluşturulur. Fakat doğrudan new anahtar kelimesi ile yeni bir sınıf türetimi yapılamaz, bunun yerine yeni bir nesne türetilmeden doğrudan erişilebilen CreateGraphics() fonksiyonunu kullanılır. Grafik nesnesi Form üzerinde (This) veya PictureBox nesnesi üzerinde yapılabilir.

Pen (Kalem) Nesnesinin Oluşturulması

sdGerçek hayatta bir kâğıt üzerine kare çizebilmek için bir tane kalem ve bir tane de kâğıda ihtiyaç olduğu belirtilmişti. Aynı şekilde kodlamada da bir adet kâğıt ve kaleme ihtiyacımız olacak. Graphics nesnesi ile kâğıt oluşturuldu ancak henüz bir kalem mevcut değil. Bunun için de yine System.Drawing kütüphanesi altında bulunan Pen sınıfının yeni bir nesnesi türetilerek oluşturulur. Pen sınıfının yapıcı metodu parametre olarak nesne rengi ve çizgi kalınlığı değerlerini almaktadır.

Brush (Fırça) Nesnesinin Oluşturulması

C# programlama dilinde çizimlerin belirli renk, desen ve resimlerle doldurulması için Brush (Fırça) nesnesi kullanılır. Parametre olarak boyama rengi alır.

Grafik Metotları

Form genişliği Width, yüksekliği ise Height özelliği ile belirlenir. Bu width ve height değerleri, formun başlık kısmını ve çerçevesini içine alır. Grafik çizilecek alanın genişliği ClientRectangle.Width, yüksekliği ise ClientRectangle.Height özelliği ile tam olarak belirlenebilir.

Grafiklerde noktalar (x, y) koordinat çifti ile belirlenir. Grafik çizilecek bölgenin sol üst köşesinin koordinatı (0, 0)'dır. Bütün ölçüler tamsayı ve pikseldir.

Grafik metotları çoğunlukla aşırı yüklenmiştir. Daha önceki ünitelerde de anlatıldığı gibi aşırı yükleme, birbirinden farklı özelliklere sahip birden fazla benzer metodun yazılmasıdır. Bu da yazılım geliştiricilere, metodu çağırdığı zaman kullanacağı özelliğe göre seçim yapabilmesini sağlar. Dolayısıyla bu metotları çağırırken birden fazla metot çağırma şekli mevcuttur.

DrawString() Metodu

Yazı yazmak için kullanılan grafik metodudur.

DrawLine() Metodu

Bu grafik metodu iki nokta arasında çizgi çizmek için kullanılır.

DrawRectangle() Metodu

Bu grafik metodu dikdörtgen çizmek için kullanılır.

DrawEllipse() Metodu

Bu grafik metodu daire/elips çizmek için kullanılır.

DrawArc() Metodu

Bu grafik metodu bir elips/dairenin belli bir kısmını çizmek için kullanılır.

DrawPie() Metodu

Bu metot bir pasta grafiği çizmek için kullanılır.

DrawBezier() Metodu

Bu grafik metodu ile Bezier eğrisi çizilir. Bezier eğrileri dört adet noktadan meydana gelmektedir. Eğri birinci (P1) ve son noktadan (P4) geçmektedir. İkinci (P2) ve üçüncü (P3) noktalar ise eğrinin kontrol edilmesini sağlamaktadır.

DrawCurve() Metodu

Bu grafik metodu nokta dizisi kullanarak eğri çizmek için kullanılır.

DrawLines() ve DrawPolygon() Metodu

Bu grafik metotları birbirlerine oldukça benzemektedir. Her iki yöntem de nokta dizisi kullanarak noktaları birbirine bağlar. Ancak iki yöntem arasındaki temel fark DrawPolygon metodu, son nokta ile ilk noktayı birleştirerek kapalı bir çokgen elde etmeyi sağlar.

DrawIcon() ve DrawImage() Metodu

Bu grafik metotları herhangi bir resim veya icon dosyasını grafik ortamda göstermek için kullanılır. Özellikle animasyon ve oyun programlarında oldukça kullanılmaktadır.

Brush (Fırça) Doldurma Sınıfları

Çizilen şekillerin içi tek bir renk ile doldurulabileceği gibi Brush (Fırça) sınıfları ile bu şekillerin içi farklı şekillerde de doldurulabilir. Çizilen şekillerin farklı şekillerde doldurulmasını sağlayan Brush sınıflarından bazıları aşağıdaki gibidir:

HatchBrush: Farklı çizgi türleri ve noktalar gibi farklı biçimlerle şeklin içerisinin doldurulmasını sağlar.

LinearGradientBrush: Renk tonlamaları arasında geçişler yaparak doldurmayı sağlar.

TextureBrush: İmage'larla (resim) bölgeyi doldurmayı sağlar

Chart Aracı Kullanımı

Chart aracı grafik göstermek amacı ile kullanılan bir araçtır. Araç kutusunda(toolbox) data grubunun altında yer alır. Sürükle bırak veya çift tıklama ile eklenebildiği gibi tamamen kod olarak da formlara eklenebilir.