Grafik Kullanımı - Baskı Önizleme +- AccessTr.neT (https://accesstr.net) +-- Forum: Microsoft Access (https://accesstr.net/forum-microsoft-access.html) +--- Forum: Access Dersleri (https://accesstr.net/forum-access-dersleri.html) +--- Konu Başlığı: Grafik Kullanımı (/konu-grafik-kullanimi.html) Sayfalar:
1
2
|
Grafik Kullanımı - accessman - 03/02/2010 alıntıdır Grafik Kullanımı Aranızda C64 ile program yapma şerefine erişmiş olanlar bilirler; grafik çizmek için nelere katlanılırdı o zamanlar. Karelere ayrılmış bir tabloda (yanlış hatırlamıyorsam 24*21 idi) karakterler oluşturulur, sonra her bir kare, üstteki değerlere göre toplanarak uzun datalar oluşturulurdu. Eğer uğraşmışsanız anlamışsınızdır. Anlamadıysanız üzülmeyin çünkü artık programlara grafik eklemek için böyle zahmetli işlerle uğraşmanız gerekmiyor. OLE nesnesi sayesinde zaten pahalı çizim ve illutrasyon (türkçesi ne?) programlarıyla çizdiğiniz grafikleri pat diye programa koyabiliyorsunuz. Ama amacınız aktif grafikler ise (-ki kendileri, girilen bilgi ya da alınan sonuca göre sonradan çizilen grafikler oluyorlar) VB nin bizlere verdiği çizim imkânlarına şöyle bir bakmanız gerekecektir. [line]Line Nesnesi : Araç kutusunda bulunur. Nerde kaybolur, onu bilemeyeceğim (tamam, kötü espri.). Bordercolor ile renk, Borderwidth ile kalınlık, Borderstyle ile çizim biçimini ayarlayabilirsiniz ki, bu biçimler kesik çizgi, nokta ve saydam gibi niceliklerdir. X1,Y1 başlangıç koordinatlarını, X2,Y2 ise bitiş koordinatlarını belirtmektedir. Bunlar sayesinde kod içerisinden de Line nesnesini kullanabilirsiniz. Shape Nesnesi: Bu nesne sayesinde kare, dikdörtgen, elips, daire vb şekiller çizebilirsiniz.Nesnenin shape özelliği sayesinde çizilecek şeklin tipini belirlersiniz. Shape.shape = (Çizilecek şekil) 0 : Dikdörtgen 1 : Kare 2 : Elips 3 : Daire 4 : Yuvarlatılmış dikdörtgen 5 : Yuvarlatılmış kare Shape.Borderstyle = (Çerçeve tipi) 0 : Yok 1 : Sürekli 2 : Kesikli çizgi 3 : Noktalı çizgi 4 : Çizgi-nokta şeklinde kesikli çizgi 5 : Çizgi-nokta-çizgi 6 : Sınır çizgisi şeklin içinde kalır Shape.Fillstyle = (İçinin doldurulma şekli ) 0 : Tamamen dolu 1 : Boş 2 : Yatay çizgiler 3 : Dikey çizgiler 4 : Yatay ve dikey çizgiler 5 : Sola yatık çizgiler 6 : Sağa yatık çizgiler 7 : Baklava Tepsisi Backstyle özelliğinin değerini 0 yaparsanız; çizilen şeklin içi saydam olacaktır. Yok “Ben saydam istemiyom” deseniz,o zaman 1 yapın ki; içi renkli olsun. Borderstyle ve Fillstyle için yukarı bakın, bakın ki, o kadar şeyi yeniden yazmayayım. Bana da yazık değil mi? Bunlar basit şekiller çizerken kullanabileceğimiz nesnelerdi. İstatistik gibi bilgileri şemaya dökebileceğimiz MSCHART nesnesine geçmeden önce kod ile grafik çizebileceğimiz VB komutlarına da şöyle bir bakalım isterseniz. Taa BASIC’den buyana kullandığınız, tanıdık, sevimli komutlardır bunlar. Gelin hasret giderelim. Nesne.PSET (X,Y), Renk :X ve Y ile belirttiğiniz koordinata bir tane nokta koymaya yarar bu komut. İsterseniz renk de yazarak noktalarınızın renkli, cıvıl cıvıl olmalarını sağlayabilirsiniz. Nokta deyip küçümsemeyin. Her hangi basit bir parabolü bile line nesnesi ile çizemessiniz. Nesne.Line (X1,Y1)-(X2,Y2),Renk,B(F) : Şirin dikdötgenler çizmek için kullanabilirsiniz. En sondaki “B” nin yanına “F” de koyarsanız, dikdörtgeninizin içi dolu olur. Koymassanız boş olur. Hem “F” koyma, hem de dolu olmasını iste! Var mı ööle !?! Geyiğe girmeden devam edelim sonra çıkamayız. Nesne.Circle (X,Y),Yarıçap,Renk, Başlangıç açısı, Bitiş açısı, Basıklık aireler ve elipsler çizmek için kullanırız biz bu komutu. Hem adı circle olduğu için hem de daire ve elips çizmek için bu komut kullanıldığı için. ( Burda çok ince bir espri var. Esasında MUDER kullanmıştı bunu. Önce anlamamıştım ama anladığımdan bu yana hep gülerim. Ah Gameshow Ah!) Hepsini anlattım. Tabi böyle anlaşılmaz. Örnek gerek. Gerek de şimdi vaktim yok. Netcez şimdi? Ya uğraşın işte. Ya bakma öyle ağlamaklı, beni de ağlatacan. Tamam tamam örnek yapalım. Ama sadece nasıl kullanıldığı ile ilgili. Öyle ahım şahım bişe olmıyacak. Ha bir de Scale metotu var. Ona da bir bakalım da, örneğe öyle geçeriz. Scale Metotu : Normalde ekranın sol üst köşesi (0,0) koordinatları ile belirtilir. Bu Scale ile ekran koordinatlarını kafanıza göre değiştirebilirsiniz. Mesela Scale (-500,250)-(500,-250) ile ekranın sol üst köşesini (-500,250), sağ alt köşesini (500,-250) olarak değiştirmiş olursunuz. Ekran şuna benzer (şimdi paintle falan uğraştırmayın böyle idare ediverin işte): (-500,250) (500,250) (0,0) (-500,-250) (500,-250) Örnek_LineNesnesi : Private Sub Command1_Click() k = 1 For i = 1 To 10 Line1.BorderColor = QBColor(Rnd*15)'*** '*** Kullanılış şekli QBColor(Renk Kodu). Renk kodu 0-15 arasında yazılabilir. Line1.BorderWidth = k Line1.X1 = i * Rnd * 100 Line1.Y1 = i * Rnd * 100 Line1.X2 = i * Rnd * 100 Line1.Y2 = i * Rnd * 100 k = k + 1 If k = 6 Then k = 1 For f = 1 To 300 Next f Next i End Sub Örnek_LineKomutu : Private Sub Form_Click() Scale (-1000,1000)-(1000,-1000) For i= 1 To 5000 Step 100 Line (-1000+i,1000-i)-(-800+i, 800-i),QBColor(15*Rnd),BF Next i End Sub Cvp: Grafik Kullanımı - ogulcan92 - 03/02/2010 Sn:accessman Paylaşım için teşekkürler. Cvp: Grafik Kullanımı - Puletin - 03/02/2010 Teşekkürler sn.accessman, birde örnek olsaydı tadından yenmezdi Cvp: Grafik Kullanımı - accessman - 03/02/2010 Private Sub Command1_Click() k = 1 For i = 1 To 10 Line1.BorderColor = QBColor(Rnd*15)'*** '*** Kullanılış şekli QBColor(Renk Kodu). Renk kodu 0-15 arasında yazılabilir. Line1.BorderWidth = k Line1.X1 = i * Rnd * 100 Line1.Y1 = i * Rnd * 100 Line1.X2 = i * Rnd * 100 Line1.Y2 = i * Rnd * 100 k = k + 1 If k = 6 Then k = 1 For f = 1 To 300 Next f Next i End Sub bu kodu nasıl accesse uyarlayabiliriz Cvp: Grafik Kullanımı - benremix - 03/02/2010 (03/02/2010, 14:05)Puletin yazdı: Teşekkürler sn.accessman, birde örnek olsaydı tadından yenmezdi Cvp: Grafik Kullanımı - accessman - 03/02/2010 DrawMode property için http://msdn.microsoft.com/en-us/library/aa195856(office.11).aspx DrawStyle property için http://msdn.microsoft.com/en-us/library/aa195857(office.11).aspx FillStyle property için http://msdn.microsoft.com/en-us/library/aa195882(office.11).aspx SpecialEffect property için http://msdn.microsoft.com/en-us/library/aa196598(office.11).aspx ScaleMode property için http://msdn.microsoft.com/en-us/library/aa196565(office.11).aspx buda rapor ayrıntısına grafik çizmek için Private Sub Ayrıntı_Print(Cancel As Integer, PrintCount As Integer) Const conPI = 3.14159265359 Dim sngHCtr As Single, sngVCtr As Single Dim sngRadius As Single Dim sngStart As Single, sngEnd As Single sngHCtr = Me.ScaleWidth / 2 ' Horizontal center. sngVCtr = Me.ScaleHeight / 2 ' Vertical center. sngRadius = Me.ScaleHeight / 3 ' Circle radius. ' Draw circle. Me.Circle(sngHCtr, sngVCtr), sngRadius sngStart = -0.00000001 ' Start of pie slice. sngEnd = -2 * conPI / 3 ' End of pie slice. Me.FillColor = RGB(255,0,0) ' Color pie slice red. Me.FillStyle = 0 ' Fill pie slice. ' Draw pie slice within circle. Me.Circle(sngHCtr, sngVCtr), sngRadius, , sngStart, sngEnd End Sub |