05 December 2016

GDI + (Graphics Device Interface)

GDI – Grafik Aygıtı Arabirimi form üzerinde şekiller, grafiksel çizimler ve metinler çizmek için kullanılır.

GDI sınıfları ve metodları System.Drawing namespace’inde bulunurlar.

GDI + kullanabileceğimiz yerler:

  • PieChart örnekleri
  • verileri grafiksel olarak kullanmak için
  • captcha resmi çizdirmek vs.

System.Drawing namespace’i içinde çok sayıda sınıf var.

GDI + Başlıca Sınıfları:

Point: koordinatları belirlemek için kullanılır.
Point p = new Point(10, 10);

Size: ölçüleri belirlemek için kulalnılır.
Size s = new Size(100, 100);

Color: çizimde kulalnılacak rengi ayarlamak için kullanılır.
Color c = Color.Red;
Color custom = Color.FromArgb(150, 0, 0, 200);

Font: yazım için kullanıcak fontu belirtir.
Font f = new Font(“Arial”, 10, FontStyle.Bold);

Rectangle: dikdörgen alanı belirtmek için kullanılır.
Rectangle rec = new Rectangle(new Point(10,10), new Size(500, 500));

Brush: fırçanın rengini ve desenini ayarlamak için kullanılır.
SolidBrush sb = new SolidBrush(Color.Blue);
HatchBrush hb = new HatchBrush(HatchStyle.Cross, Color.Green, Color.Black); //using System.Drawing.Drawing2D; namespace eklenir.

Graphics: temel çizimi oluşturacak metotları içerir.
Graphics grp = null;

Pen: kalemi belirlemek için kullanılır.
Pen redPen = Pens.Red;
Pen customPen = new Pen(Color.Blue, 3);

Bitmap: hafizada boş bir tuval oluşturur. (çizim işlemleri yapılabilir, capcha oluşturulabilir veya resim yerleştirilip watermark yapılabilir)
Bitmap bmp = new Bitmap(500, 500);
Bitmap fileBmp = new Bitmap(“C:\\my.jpg”);

Çalışmaya başlarken:

Tüm projelere başta System.Drawing namespace’i eklenir.
using System.Drawing;

CreateGraphics() metodu ile grafik nesnesine ait alt yüzey oluşturulur. (nesne bellekten Dispose() yöntemi ile silinebilir)

Graphics grp; //global alanda tanımlayalım
grp = LayoutPanel.CreateGraphics(); //formun load eventine ekleyelim

Trackbacks

  1. […] konusuna giriş yaparken GDI+ kullacağımız yerler  kısmında captcha çizdirmek için kullanabileceğimizi not almıştık. Bu yazımda GDI+ […]