ProAkademi.NET
 
 Web Programlama Web Programlama
 Programlama Programlama
 Grafik Grafik
 Veri Tabanı Veri Tabanı
 İşletim Sistemleri İşletim Sistemleri
 Network Network
 Donanım Donanım
 Güvenlik Güvenlik
 Genel Konular Genel Konular
  KATEGORİLER
 
Kullanıcı Adı :
Şifre :
  ÜYE GIRISI
 
 
  Hakkımızda
  Forum
  Blog
  Haberler
  İpuçları
  Destekleyenler
  İletişim
  PROAKADEMİ.NET
 
Son Üye : altintakipci
Kayıtlı Üye : 521
  İSTATİSTİKLER
 
 
Ana Sayfa > Makale > Programlama > VB.NET
 
GDI+
 
GDI+, .NET Framwork?deki System.Drawing sınıfı altında desteklenmektedir. Bu sınıf aracılığı ile Windows altında görsel özelliklere sahip uygulamalar geliştirebiliriz. GDI, C++ dili ile grafik çizmek için oluşturulmuş sınıflar kümesi idi. Ancak GDI sorunlu idi. Bunun üzerine GDI dili yenilendi ve GDI + haline getirdi. Öyle ki GDI düşük ve orta düzey programlama ortamı sağlıyordu. Ancak GDI + ile yüksek düzeyli programlama yapmak mümkün olabilmektedir.
 

.NET Framwork’deki System.Drawing sınıfı altında desteklenmektedir. Bu sınıf aracılığı ile Windows altında görsel özelliklere sahip uygulamalar geliştirebiliriz. GDI, C++ dili ile grafik çizmek için oluşturulmuş sınıflar kümesi idi. Ancak GDI sorunlu idi. Bunun üzerine GDI dili yenilendi ve GDI + haline getirdi. Öyle ki GDI düşük ve orta düzey programlama ortamı sağlıyordu. Ancak GDI + ile yüksek düzeyli programlama yapmak mümkün olabilmektedir.

GDI+ içindeki tüm sınıflar 6 adet namespace içinde toplanmıştır;

System.Drawing
System.Drawing.Desing
System.Drawing.Printing
System.Drawing.Imaging
System.Drawing.Drawing2D
System.Drawing.Text

System.Drawing Sınıfı Metotları;

Metot Açıklama
AddMetaFileComment Var olan meta dosyasına text açıklama ekler.
BeginContainer Overloaded. Yeni grafik container başlatır.
Clear Graphics objesini ve özel renkleri temizler.
DrawArc Overloaded. Yay çizer.
DrawEllipse Overloaded. Elips çizer.
DrawImage Overloaded. Resim çizer.
DrawLine Overloaded. Çizgi çizer.
DrawLines Overloaded. Ard arda bağlantılı satırlar çizer.
DrawPie Overloaded. Pasta çizer.
DrawPolygon Overloaded. Çokgen (poligon) çizer.
DrawRectangle Overloaded. Dikdörtgen çizer.
DrawRectangles Overloaded. Ard arda dikdörtgenler çizer.
DrawString Overloaded. Text çizer.
FillEllipse Overloaded. Brush kullanarak elipsin içini doldurur.
FillPie Overloaded. Brush kullanarak pastanın içini doldurur.
FillPolygon Overloaded. Brush kullanarak çokgenin içini doldurur.
FillRectangle Overloaded. Brush kullanarak dikdörtgenin içini doldurur.
FillRectangles Overloaded. Brush kullanarak ard arda dikdörtgenlerin içini doldurur.
FillRegion Brush kullanarak belli bir bölgenin içini doldurur..
GetClip Kesilen bölgeyi alır.
Restore Graphics objesi ile yapılmış çalışmanın bir önceki kaydedilmiş haline gönderir.
Save Graphics objesi ile yapılanları kaydeder.

.BMP Desteği Özellikle .bmp özellikli dosyalar üzerinde işlem yapabilmek için zengin bir destek sağlanmış.

Dim b As Bitmap = New Bitmap(100, 100)
  b.Save("c:yeliz.bmp")

Gibi iki satırlık bir kodlama ile kaydedilebiliyor.

Visual Basic .NET içindeki Grafiksel Değişiklikler

Visual Basic 6’da birçok grafik metotları ve özellikleri PictureBox kontolü ile kullanılıyordu. Visual Basic 6’daki grafik işlemleri Windows Graphics Device Interface (GDI) API’sini kullanıyor. Visual Basic 6’dan Visual Basic.NET’e upgrade yapıldığı zaman grafik metotları upgrade edilmemektedir.

Karşılaştırmalı Örnek Uygulama

Form’a daire çizdiren örneği VB6 ve VB.NET ile karşılaştıralım. 

Visual Basic 6.0
  Private Sub Form_Click()
    Me.ScaleMode = 3
    Me.Circle (50, 50), 50, vbRed
  End Sub

Visual Basic .NET

Private Sub Form1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Click
    Dim pen As New Drawing.Pen(System.Drawing.Color.Red, 1)
    Me.CreateGraphics.DrawEllipse(pen, 0, 0, 100, 100)
    Pen.Dispose
  End Sub

VB6’da Kullanılan Grafik Metotlarının VB.NET’deki Karşılıkları

VB6 VB.NET Karşılığı
AutoRedraw Özelliği Direk karşılığı yok. Ancak grafik metodunun Paint event ii ile yapabiliriz.
Circle Metodu Graphics.DrawEllipse Methodu
Cls Metodu Graphics.Clear Method
CurrentX Özelliği Birçok metotda kullanılabilir halde mevcut. Ör: DrawRectangle(pen, x, y, width, height)
CurrentY Özelliği Birçok metotda kullanılabilir halde mevcut. Ör: DrawRectangle(pen, x, y, width, height)
DrawMode Özelliği Pen.Color Özelliği.
DrawStyle Özelliği Pen.PenType Özelliği
DrawWidth Özelliği Pen.Width Özelliği
FillColor Özelliği SolidBrush.Color Özelliği
FillStyle Özelliği Pen.Brush Özelliği.
Image Özelliği VB6’da bu özellik elindeki değeri gönderirken, VB.NET’de System.Drawing.Image objesini geri gönderir.
Line Metodu Graphics.DrawLine Metodu
PaintPicture Metodu Graphics.DrawImage Metodu.
Point Metodu Direk karşılığı yok. .bmp’ler için Bitmap.GetPixel Metodu kullanılabilir.
Print Metodu Graphics.DrawString Metodu.(Verilen yazının istenen görüntü özelliklerine gore çizilmesini sağlar.)
TextHeight Özelliği Font.Height Özelliği.(Verilen metin ifadesinin boyunu ayarlar.)
TextWidth Özelliği Graphics.DrawString Metodu altında RectangleF özelliği ile kullanabiliriz.

 
Etiketler: gdi framework drawing görsel gdi framework drawing görsel
 
Yazar: Yeliz KORKMAZ
Tarih: 21.01.2009 10:52:00 | Okuma: 3185 | Oy: 0

EkleBunu Sosyal Paylaşım Butonu

Yorumlar
candemir544   18.08.2009 // textwidth = RectangleF
textwidth özelliği yerine Graphics.DrawString Metodu altında RectangleF özelliğinin nasıl kullanıldığını çözemedim. Yardımcı olurmusunuz


Yorum Ekle
Yorum eklemek için kayıtlı üye olmanız gerekiyor! Üye olmak için tıklayınız.

 
Copyright 2008 ProAkademi.NET (v 1.4) - Tüm hakları saklıdır.
Tasarım: Hüseyin YILDIRIM [AriSToR] // ZirveArt
Clicky Web Analytics
 
 
Buluton Yazilim ve Internet Hizmetleri