12-04-2011, 12:34 AM
Visual Basic'de Simge Çizmek ve Kaydetmek
Çoğu programlarda simge olarak kullanılan .ico uzantılı simge dosyası çizme ve oluşturmayıgörelim.
icon(Simge):
İlk önce "icon nedir"den başlayalım. İcon programların simgesidir. Programı açtığınızda sol üst tarafında görünür veya başlat menüsünde, masaüstünde görünen simgesidir. Visual Basic'te bu dosyayı oluşturmayı öğreneceğiz.
İlk Önce Form1'e:
2 Tane Picturebox (1.si Çizim , 2.Kalem Rengi)
2 Tane Button (1.si Temizle , 2.Kaydet)
1 Tane HscrollBar (Kalemin(Çizimin) Boyutu)
Kodlarımız :
Çoğu programlarda simge olarak kullanılan .ico uzantılı simge dosyası çizme ve oluşturmayıgörelim.
icon(Simge):
İlk önce "icon nedir"den başlayalım. İcon programların simgesidir. Programı açtığınızda sol üst tarafında görünür veya başlat menüsünde, masaüstünde görünen simgesidir. Visual Basic'te bu dosyayı oluşturmayı öğreneceğiz.
İlk Önce Form1'e:
2 Tane Picturebox (1.si Çizim , 2.Kalem Rengi)
2 Tane Button (1.si Temizle , 2.Kaydet)
1 Tane HscrollBar (Kalemin(Çizimin) Boyutu)
Kodlarımız :
Code:
Public Class Form1
Dim resim As New Bitmap(32, 32) '32 ye 32 büyüklüğünde Resim Oluşturuyoruz (Not : icon boyutları 32,32 dir)
Dim ekran As Graphics 'Burda ekran değişkenini çizim için kullanacağız
Dim x1, y1, x2, y2 As Integer 'Değişkenlerimizi Tanımladık Kullanmak İçin
Dim kalem As New Pen(Brushes.Black) 'Yeni Kalem Oluşturduk Çizimde Kullanmak İçin ve Rengine Siyah Dedik
Private Sub yenile() 'Yenile Adında Bir Fonksiyon Oluşturduk Her İstediğimizde yenile() deyip Resm Göstermesi İçin
'Bu Fonksyon Olmassa Resmi Göstermez
ekran = Graphics.FromImage(resim) 'Ekranın Çizeceği Resmi Ayarladık
PictureBox1.Image = resim 'PictureBox1'de Resmimizi Göster
End Sub 'Fonksyonu Bitir
Private Sub sil() 'Resmi Silmek İçin Bir Fonksiyon Kullandık
'Bu Fonksiyon İşimizi Kolaylaştırıyor Her Seferinde Kod Yazmaktansa 1 kere sil() yazıyoruz yeterli oluyor
yenile() 'Yenileme Fonksiyonumuzu Çağırıyoruz ve Yeniliyoruz
ekran.Clear(Color.White) 'Resmi Siliyoruz
yenile() 'Tekrar Yeniliyoruz
End Sub 'Fonksiyonu Bitiriyoruz
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'Program Açıldığında Alttaki Kodları Çalıştır
sil() 'Sildiriyoruz
HScrollBar1.Maximum = 30 'HscrollBar1 in Son Değeri 30 yapıyoruz 30dan fazla büyütülmesin diye
HScrollBar1.Maximum = 1 'En Küçük Değerinide 1 yapıyoruz
PictureBox1.Width = 320 '10 Kat Büyütüp Çizeceğimiz İçin
PictureBox1.Height = 320 '10 Kat
PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage 'Pictureboxa hizala
PictureBox2.BackColor = Color.Black 'Renk Kutusunu Siyah Yap
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 'Sil Tuşu
sil() 'Sil Buttonunun içine Yazıyoruz bunu ve Siliyor
End Sub
Private Sub PictureBox1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseDown 'Pictureboxa Tıklanınca
If e.Button = MouseButtons.Left Then 'Eğer Sol Tıklama İse
x1 = e.X / 10 'x1 Değerini Bölü 10 aldık çünkü 10 kat büyütmüştük
y1 = e.Y / 10 'aynen y1 de
End If
End Sub
Private Sub PictureBox1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseMove
'Pictureboxun Üzerine Gelince
If e.Button = MouseButtons.Left Then 'Eğer Sol Tıklanıyosa ve Sürükleniyosa
yenile() 'Yenile
x2 = e.X / 10 'x2 yi ve
y2 = e.Y / 10 'y2 yi al
ekran.DrawLine(kalem, x1, y1, x2, y2) 'Çizgi Çiz 1.yerden 2.yere
x1 = e.X / 10 'tekrar x1 ve
y1 = e.Y / 10 'x2 yi aldık
yenile() ' Yenile Burda Çizgimiz Görünmesi İçin Bundan Sonra Picture Boxa Tıklayın Resmi Çizer
End If
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
'Kaydet Buttonu
Dim kaydet As New SaveFileDialog 'Kaydedilecek Yeri Seçmenizi İsteyen Pencere
kaydet.Filter = "Simge Dosyası (*.ico)|*.ico" 'Sadece .ico Olarak Kaydetmesi İçin
If kaydet.ShowDialog = DialogResult.OK Then 'Eğer Kaydete Tıkladıysa Yap İptal'e Tıkladıysa Yapma
Dim icon As Icon = icon.FromHandle(resim.GetHicon) 'icon tanımladık ve resimden aldık
Dim kay As New IO.FileStream(kaydet.FileName, IO.FileMode.OpenOrCreate) 'FileStream Tanımladık Ve Dosyayı Açtık
icon.Save(kay) 'Simgeyi Kaydettik
kay.Close() 'Dosyayı Kapadık
'Not Burda Dosyayı Kapatmassanız Çalışmaz kay.close()
End If
End Sub
Private Sub PictureBox3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox3.Click
kalem.Color = Color.White
End Sub
Private Sub HScrollBar1_Scroll(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ScrollEventArgs) Handles HScrollBar1.Scroll
'HscrollBar1 Seçildiğinde
kalem.Width = HScrollBar1.Value 'Kalemin Kalınlığını Ayarla
End Sub
Private Sub PictureBox2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox2.Click
'Eğer Renk Kutusuna Tıklanırsa (Picturebox2 yani)
Dim renk As New ColorDialog 'Bir Renk Göstergesi Oluştur
renk.Color = kalem.Color 'Seçili Rengi Değiştir
If renk.ShowDialog = DialogResult.OK Then 'Göstergeyi Aç
kalem.Color = renk.Color 'Kalemin Rengini Ayarla
PictureBox2.BackColor = renk.Color 'Renk Kutusunun Rengini Ayarla
End If
End Sub
End Class
·٠•●♥ Ƹ̵̡Ӝ̵̨̄Ʒ ♥●•٠·˙˜”*°•. || Türk Team - SaNcArHaN71 || .•°*”˜˙·٠•●♥ Ƹ̵̡Ӝ̵̨̄Ʒ ♥●•٠·˙