Sayfalar
8 Kasım 2016 Salı
Resimleri Boyutlandırma
RESİM BOYUTLANDIRMA PROJE KODLARI
İNDİR
Form Kodları
Imports System.IO Imports System.Drawing Public Class Form1 #Region "GENEL DEĞİŞKENLER" Dim ResmiYenidenBoyutla As Image Dim ResimOzellikleri As Image Dim ResimEni As Integer Dim ResimBoyu As Integer #End Region #Region "FORM İŞLEMLERİ " Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing 'Program kapatılırken karartma yapılır Dim iCount As Integer For iCount = 100 To 1 Step -2 Me.Opacity = iCount / 100 Threading.Thread.Sleep(10) Next End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.AllowDrop = True 'Drag drop ile forma resim yüklemek için gerekli End Sub #End Region #Region "RESİM BOYUTLAMA PROSEDÜRLERİ" Sub ResizeTheImage() ' (NumBoyYzdesi) değeri temelinde PictureBox'u boyutlandır.. picBox.Image = Image.FromFile(LblYol.Text) Dim yeniEni As Integer = ((numBoyYzdesi.Value / 100) * ResimEni) Dim yeniBoyu As Integer = ((numBoyYzdesi.Value / 100) * ResimBoyu) Dim YeniBoyut As New Size(yeniEni, yeniBoyu) lblYeniBoyut.Text = yeniEni.ToString + " x " + yeniBoyu.ToString ResmiYenidenBoyutla = New Bitmap(picBox.Image, YeniBoyut) picBox.Image = ResmiYenidenBoyutla If YeniBoyut.Width < 400 Or YeniBoyut.Height < 400 Then Label4.Text = "" picBox.SizeMode = PictureBoxSizeMode.CenterImage Else Label4.Text = "Resim Boyutu artırılırken, 400 pixel üstü Görüntülerin buradaki görünümü küçültülür." picBox.SizeMode = PictureBoxSizeMode.Zoom End If End Sub Sub ResimBoyutunuAl() ' PictureBox'un içine dosyadan genişlik ve yükseklik değerini alın. buna göre yakınlaştırma ve merkezi ayarlayın. ResimOzellikleri = Image.FromFile(LblYol.Text) ResimEni = ResimOzellikleri.Size.Width ResimBoyu = ResimOzellikleri.Size.Height If ResimEni < 400 Or ResimBoyu < 400 Then picBox.SizeMode = PictureBoxSizeMode.CenterImage Else picBox.SizeMode = PictureBoxSizeMode.Zoom End If lblOrjBoyut.Text = ResimEni.ToString + " x " + ResimBoyu.ToString End Sub Private Sub numBoyYzdesi_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles numBoyYzdesi.ValueChanged 'Görüntü PictureBox içine yüklendiğinde, yeniden boyutlandırmak için GC.Collect() komutu ile (Garbage Collector) derleme yapılır Try ResizeTheImage() 'Resmi yeniden boyutlandırma işlemi yapılıyor lblDurum.Text = "Değişiklikler Saklanmadı" lblDurum.ForeColor = Color.DarkRed GC.Collect() Catch ex As Exception 'MsgBox(ex.Message) End Try End Sub #End Region #Region "Dosya Açmk ve Saklama işlemleri " Private Sub btnDsySakla_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDsySakla.Click ' Boyutlandırılan görüntüyü kaydet. If OpenFileDialog1.FileName = "" Then MsgBox("Yüklenecek görüntü yok." & vbCrLf & "Resim yükleyip yeniden deneyin.", vbOKOnly, "Hata") Exit Sub End If Try SaveFileDialog1.FileName = Path.GetFileNameWithoutExtension(OpenFileDialog1.FileName) + "_YeniBoyut" + OpenFileDialog1.DefaultExt If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then picBox.Image.Save(SaveFileDialog1.FileName, System.Drawing.Imaging.ImageFormat.Jpeg) lblDurum.Text = "Değişiklikler kaydedildi" lblDurum.ForeColor = Color.Black LblYol.Text = SaveFileDialog1.FileName GC.Collect() End If Catch ex As Exception MsgBox("Geçerli bir dosya ve konum seçtiğinizden emin olun.", vbOKOnly, "Hata") GC.Collect() End Try End Sub Private Sub btnDsyAc_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDsyAc.Click 'PictureBox içine açılan dosyayı göstermek için açar. lblYeniBoyut.Text = "" : lblOrjBoyut.Text = "" : numBoyYzdesi.Value = 100 If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then LblYol.Text = OpenFileDialog1.FileName lblDurum.Text = "Resim Yüklendi" lblDurum.ForeColor = Color.Black picBox.Image = Image.FromFile(LblYol.Text) ResimBoyutunuAl() End If End Sub #End Region #Region " Label 'e tıklayarak dosya seçmeyi açmak" Private Sub LblYol_Click(sender As System.Object, e As System.EventArgs) Handles LblYol.Click btnDsyAc.PerformClick() End Sub #End Region #Region " Balon Yazı " Private Sub btnDsyAc_MouseHover(sender As System.Object, e As System.EventArgs) Handles btnDsyAc.MouseHover ToolTip1.SetToolTip(btnDsyAc, "Resim Dosyası Yükle") End Sub Private Sub btnDsySakla_MouseHover(sender As System.Object, e As System.EventArgs) Handles btnDsySakla.MouseHover ToolTip1.SetToolTip(btnDsySakla, "Resim Dosyası Sakla") End Sub #End Region #Region " Drag drop ile forma resim yüklemek " Private Sub Form1_DragDrop(sender As System.Object, e As System.Windows.Forms.DragEventArgs) Handles MyBase.DragDrop Dim Dsy() As String = e.Data.GetData(DataFormats.FileDrop) For Each path In Dsy LblYol.Text = path picBox.Image = Image.FromFile(path) lblDurum.Text = "Resim Yüklendi" lblDurum.ForeColor = Color.Black picBox.Image = Image.FromFile(LblYol.Text) ResimBoyutunuAl() Next OpenFileDialog1.FileName = LblYol.Text End Sub Private Sub Form1_DragEnter(sender As System.Object, e As System.Windows.Forms.DragEventArgs) Handles MyBase.DragEnter If e.Data.GetDataPresent(DataFormats.FileDrop) Then e.Effect = DragDropEffects.Copy End If End Sub #End Region #Region " PicBox Arka Fonu Seçmek " Private Sub CheckBox1_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles CheckBox1.CheckedChanged If CheckBox1.Checked Then picBox.BackColor = SystemColors.ButtonHighlight Else picBox.BackColor = SystemColors.ActiveCaptionText End If End Sub Private Sub lblDurum_MouseDown(sender As System.Object, e As System.Windows.Forms.MouseEventArgs) Handles lblDurum.MouseDown 'lblDurum 'a sağFare tuşu ile tıklandığında PicBox arka fonu "siyah" veye "Beyaz" yapılır If e.Button = Windows.Forms.MouseButtons.Right Then If CheckBox1.Checked = False Then CheckBox1.Checked = True Else CheckBox1.Checked = False End If End If End Sub #End Region End Class
Hiç yorum yok:
Yorum Gönder
Sonraki Kayıt
Önceki Kayıt
Ana Sayfa
Kaydol:
Kayıt Yorumları (Atom)
Hiç yorum yok:
Yorum Gönder