
Bir çok programlarda simge olarak kullanılan ( icon ) uzantılı simge dosyası nasıl çizilir hep beraber göreceğiz.
İcon Nedir?
Programların simgesi anlamına gelmektedir. Programı açtığımızda sol üst kösede kendini belli eder.
Gerekli araçlarımız:
2 adet Picturebox (1.si Çizim , 2.Kalem Rengi)2 adet Button (1.si Temizle , 2.Kaydet)
1 adet HscrollBar (Kalemin(Çizimin) Boyutu)
Kodlama:
Public Class Form1 Dim resim As New Bitmap(32, 32) '32 ye 32 ebatında resim oluşturunuz (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şturdum 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 aktif olduğunda Alttaki Kodları Çalıştır sil() 'Sildiriyoruz HScrollBar1.Maximum = 30 'HscrollBar1 in Son Değeri 30 yapalım 30dan fazla büyük olmasın açısndan 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 sebebi 10 kat büyütmüş olduğumuz için 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() ' 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 ' 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) Dim kay As New IO.FileStream(kaydet.FileName, IO.FileMode.OpenOrCreate) 'FileStream Tanımladık Ve Dosyayı Açtık icon.Save(kay) 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 renk.Color = kalem.Color 'Seçili Rengi Değiştir If renk.ShowDialog = DialogResult.OK Then kalem.Color = renk.Color 'Kalemin Rengini Ayarla PictureBox2.BackColor = renk.Color End If End Sub End Class
ads
Hiç yorum yok: