Hızlı Konu Açma

Hızlı Konu Açmak için tıklayınız.

Son Mesajlar

Konulardaki Son Mesajlar

Reklam

Forumda Reklam Vermek İçin Bize Ulaşın

Simge Çizmek ve Kaydetmek

BOMBFACTORY

Uzman Üye
Uzman Üye
Trabzonspor
Katılım
5 Ocak 2014
Mesajlar
3,333
Tepkime puanı
6
Puanları
136
Ç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)

Kod:

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 SubEnd Class
 

Users Who Are Viewing This Konu (Users: 0, Guests: 1)

Üst