Thread Rating:
  • 1 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Visual Basic'de Simge Çizmek ve Kaydetmek
#1
Rainbow 
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 :

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
[Image: vmpt.gif]
·٠•●♥ Ƹ̵̡Ӝ̵̨̄Ʒ ♥●•٠·˙˜”*°•. || Türk Team - SaNcArHaN71 || .•°*”˜˙·٠•●♥ Ƹ̵̡Ӝ̵̨̄Ʒ ♥●•٠·˙
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)

Online Shopping App
Online Shopping - E-Commerce Platform
Online Shopping - E-Commerce Platform
Feinunze Schmuck Jewelery Online Shopping