VİSUAL BASIC İLE GRAFİK ÇİZİMİ Visual Basic programlama dilinde program çıktılarını ekranda görüntülemek, programın arayüzüne grafik öğeler katmak veya hareketli görüntüler (animasyonlar) hazırlamak için kullanılan temel grafik komutları mevcuttur. VB ile bir grafik çıktı elde edebilmek için Form nesnesi ve Picture Box nesnesi kullanılabilir. Grafik çıktılar oluşturma sırasında en önemli nokta, kullanılan çizim nesnesinin koordinat başlangıcının ve nesne sınırlarının bilinmesidir. Form nesnesi ve Picture Box nesnesi için eksen takımının orijini Şekilde görüldüğü gibi nesnelerin sol üst köşeleridir ve x ve y ekseni yönleri de Şekilde verilmiştir. x y (0,0) Picture Box
VİSUAL BASIC İLE GRAFİK ÇİZİMİ Form ve Picture Box nesnelerinin çizim boyutları ve koordinatları twips, milimetre, inch, santimetre, pixel şeklinde ayarlanabilir. Fakat çizim yapılacak alanın boyutları kullanıcı tarafından belirlenebilir ve eksen takımı orijini nesnenin istenilen bir yerine yerleştirilebilir. Bu şekildeki bir kullanım grafik çizimlerinde kullanıcıya büyük kolaylık sağlar. Bu tip bir boyutlandırma ve eksen takımı konumlandırma için temel kullanım şöyledir. x y (x1,y1) (x2,y2) (0,0) Form1.Scale (x1,y1)-(x2,y2) Sol Üst Köşe Sağ Alt Köşe
VİSUAL BASIC İLE GRAFİK ÇİZİMİ x y (0,0) Picture Box Sol Üst Köşe Sağ Alt Köşe (x1,y1) (x2,y2) Picture1.Scale (x1,y1)-(x2,y2) x y (-100,100) (100,-100) Örnekler: Bir Picture Box’ı 200x200 boyutlarında ölçeklendirelim Picture1.Scale (-100,100)-(100,-100) (0,0) x y (200,-100) (0,100) Picture1.Scale (0,100)-(200,-100) (0,0)
VİSUAL BASIC İLE GRAFİK ÇİZİMİ Picture1.Scale (0,200)-(200,0) x y (200,0) (0,200) (0,0) x y (100,0) (-100,200) Picture1.Scale (0,200)-(200,0) (0,0) x y (200, 200) (0,0) Picture1.Scale (0, 0)-(200, -200)
VİSUAL BASIC İLE GRAFİK ÇİZİMİ ÇİZİM KOMUTLARI: VB’de kullanılan çizim komutları aşağıda verilmiştir. VB’de çizim için kullanılan nesnenin (Form, Picture Box) çizim kalınlığı ve tipini belirlemek mümkündür. Picture1.DrawWidth =2 Picture1.DrawWidth =10 Picture1.DrawStyle =0 Picture1.DrawStyle =1 Picture1.FillStyle =0 Picture1.FillColor =vbRed Picture1.FillStyle =2 Picture1.FillColor =vbRed
VİSUAL BASIC İLE GRAFİK ÇİZİMİ Çizim Komutları: Picture1.Line (x1, y1)-(x2, y2), Renk, B Picture1.Line (x1, y1)-(x2, y2), Renk, BF (x1,y1) (x2,y2) İçi dolu kutu çizer Pset (x,y), Renk Picture1.PSet (10, 50), vbBlue x,y koordinatlarına nokta çizer Picture1.Line (x1, y1)-(x2, y2), Renk Başlangıç Bitiş Picture1.Line -(x3, y3), Renk (x3,y3) Bir önceki çizginin bitiş noktasından devam eden bir çizgi çizer (x1,y1) (x2,y2) İçi boş kutu çizer
VİSUAL BASIC İLE GRAFİK ÇİZİMİ Çember Çizimi: Picture1.Circle (x,y), Yarıçap, Renk (x,y) Yarıçap Çember Parçası Çizimi: (Açılar Radyandır!!!) Yarıçap Picture1.Circle (x,y), Yarıçap, Renk, 3.1415/4, 3*3.1415/4 (x,y) Başlangıç Açısı (Radyan) Bitiş Açısı (Radyan) (Saat ibresi tersi yönünde dolanır) Daire Dilimi Çizimi: Picture1.Circle (x,y), Yarıçap, Renk, - 3.1415/4, - 3*3.1415/4 (x,y) (- işaretler çember dilimini merkezde kapatır) (Yükseklik / Genişlik Oranı) Elips Çizimi: Picture1.Circle (x,y), Yarıçap, Renk, , , 0.5 a b a/b<0 a/b>0 a/b
VİSUAL BASIC İLE GRAFİK ÇİZİMİ Visual Basic’de Shape ve Line Nesneleri de Çizim amacı ile kullanılabilir.
VİSUAL BASIC İLE GRAFİK ÇİZİMİ Örnek: Şekildeki çizimi elde etmek için gerekli programı yazınız. 1 2 3 4 7 5 6 8
VİSUAL BASIC İLE GRAFİK ÇİZİMİ Private Sub Command1_Click() pi = 3.1415 Picture1.Scale (0, 400)-(600, 0) Picture1.BackColor = vbGreen Picture1.DrawWidth = 4 Picture1.Line (300, 50)-(425, 50), vbBlue Picture1.Circle (500, 50), 75, vbBlue, pi / 2, pi Picture1.Line (500, 125)-(500, 350), vbBlue Picture1.Line -(100, 350), vbBlue Picture1.Line -(100, 250), vbBlue Picture1.Line -(300, 50), vbBlue Picture1.Line (100, 300)-(500, 300), vbBlue Picture1.FillStyle = 7 Picture1.Circle (300, 200), 50, vbBlue End Sub
VİSUAL BASIC İLE GRAFİK ÇİZİMİ Spriral Çizimi: Private Sub Command1_Click() a = 2 b = 0.22 Picture1.Scale (-200, 200)-(200, -200) Picture1.BackColor = vbWhite Picture1.DrawWidth = 3 For t = 0 To 20 Step 0.01 x = a * Exp(b * t) * Cos(t) y = a * Exp(b * t) * Sin(t) Picture1.PSet (x, y), vbRed Next t End Sub