Simge Çizmek ve Kaydetmek

Çoğu programlarda simge olarak kullanılan .ico uzantılı simge dosyası çizme ve oluşturmayıgörelim.

Ç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 :


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



Diğer dersimize görüşmek üzere sağlıcakla kalın.
  • Etiketler;
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

[code]Dim çok güzel olmuş:)) as integer[/code][flash=450*350][/flash]
Kullanıcının TextBox’ a girdiği herhangi bir sayının yarı mükemmel sayı olup olmadığı kontrol edilerek sonuç kullanıcıya geri bildirilecek. 2. Kullanıcı istediği basamak değerini ComboBox’ tan seçerek ilgili basamak değerindeki yarı mükemmel sayıların listesini sıralı bir şekilde ekranda görebilecek. (Basamak sayısı en fazla 4 olacak.)...(Yarı Mükemmel Sayı Tanımı: Bir sayının kendisi hariç, son üç tamsayı bölenlerinin toplamı sayının kendisini veriyorsa bu sayıya yarı mükemmel sayı denir. Örnek: 18 = 1, 2, 3, 6, 9, 18 (Son üç tamsayı bölenleri toplamı: 3+6+9 = 18) BİR TÜRLÜ YAPAMADIM YARDIMCI OLUR MUSUNUZ LÜTFEN..
1. Kullanıcının TextBox’ a girdiği herhangi bir sayının yarı mükemmel sayı olup olmadığı kontrol edilerek sonuç kullanıcıya geri bildirilecek. 2. Kullanıcı istediği basamak değerini ComboBox’ tan seçerek ilgili basamak değerindeki yarı mükemmel sayıların listesini sıralı bir şekilde ekranda görebilecek. (Basamak sayısı en fazla 4 olacak.)............(Yarı Mükemmel Sayı Tanımı: Bir sayının kendisi hariç, son üç tamsayı bölenlerinin toplamı sayının kendisini veriyorsa bu sayıya yarı mükemmel sayı denir. Örnek: 18 = 1, 2, 3, 6, 9, 18 (Son üç tamsayı bölenleri toplamı: 3+6+9 = 18)... UÐRAŞTIM AMA BİR TÜRLÜ YAPAMADIM LÜTFEN YARDIMCI OLABİLIR MİSİNİZ.)
Daha düzgün anlatabilseniz sevinirim...

Yukarı Git