Vatansever
Asistan
- Katılım
- 23 Ağustos 2007
- Mesajlar
- 405
- Reaksiyon puanı
- 1
- Puanları
- 18
Arkadaşlar programımda bir hesaplamaya ihtiyacım var programımda OpenFileDialog1 kullanarak bir resim seçiyorum ve bu resim en=116 boy=136 oranına boyutlandırılmış olarak program klasörüne kaydediliyor ama en boy oranı korunmadan, ben ise en boy oranını koruyarak en=116 boy=136 ölçülerinin içine sığacak şekilde boyutlandırılmasını istiyorum aşağıdaki kodlarda
Dim x As Int32 = 116 'oluşturulacak resmin genişliği ne olacaksa bu değer yazılır
Dim y As Int32 = 136 'oluşturulacak resmin boyu ne olacaksa bu değer yazılır
bu kodlardaki değerler değişecek sadece hepsi bu ama matematiğim çok kötü hesabı yapamadım gitti seçtiğim resmin ölçülerini alttaki kod ile elde ediyorum
Dim en As Integer = bm.Width 'Seçtiğim resmin genişlik ölçüsünü veriyor
Dim boy As Integer = bm.Height 'Seçtiğim resmin boy ölçüsünü veriyor
İŞTE BU SEÇİLEN RESMİ en=116 boy=136 ÖLÇÜLERİNE SIĞDIRACAK EN BOY DEĞERLERİNİ NASIL ELDE EDERİM (UNUTMAYALIM EN BOY ORANI KORUNACAK)
Dim x As Int32 = 116 'oluşturulacak resmin genişliği ne olacaksa bu değer yazılır
Dim y As Int32 = 136 'oluşturulacak resmin boyu ne olacaksa bu değer yazılır
bu kodlardaki değerler değişecek sadece hepsi bu ama matematiğim çok kötü hesabı yapamadım gitti seçtiğim resmin ölçülerini alttaki kod ile elde ediyorum
Dim en As Integer = bm.Width 'Seçtiğim resmin genişlik ölçüsünü veriyor
Dim boy As Integer = bm.Height 'Seçtiğim resmin boy ölçüsünü veriyor
İŞTE BU SEÇİLEN RESMİ en=116 boy=136 ÖLÇÜLERİNE SIĞDIRACAK EN BOY DEĞERLERİNİ NASIL ELDE EDERİM (UNUTMAYALIM EN BOY ORANI KORUNACAK)
Kod:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Masaüstü As String
Masaüstü = CreateObject("WScript.Shell").Specialfolders("Desktop")
OpenFileDialog1.Title = "Dosya Ekle"
OpenFileDialog1.FileName = ""
OpenFileDialog1.Filter = "All Files|*.*|Bitmap Files (*)|*.bmp;*.gif;*.jpg"
OpenFileDialog1.InitialDirectory = Masaüstü
OpenFileDialog1.AddExtension = True
If OpenFileDialog1.ShowDialog = DialogResult.OK Then
Dim dsyadi As String = IO.Path.GetFileName(OpenFileDialog1.FileName)
Dim dosyaKonumu As String
dosyaKonumu = OpenFileDialog1.FileName()
PictureBox2.Image = Image.FromFile(OpenFileDialog1.FileName)
' MsgBox(OpenFileDialog1.FileName)
End If
'BURASI RESİM BOYUTLANDIRMA KODUDUR
Dim bm As New Bitmap(OpenFileDialog1.FileName)
Dim en As Integer = bm.Width 'Seçtiğim resmin genişlik ölçüsünü veriyor
Dim boy As Integer = bm.Height 'Seçtiğim resmin boy ölçüsünü veriyor
Dim x As Int32 = 116 'oluşturulacak resmin genişliği ne olacaksa bu değer yazılır
Dim y As Int32 = 136 'oluşturulacak resmin boyu ne olacaksa bu değer yazılır
Dim width As Integer = Val(x) 'image eni
Dim height As Integer = Val(y) 'image boyu yani yüksekliği
Dim thumb As New Bitmap(width, height)
Dim g As Graphics = Graphics.FromImage(thumb)
g.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic
g.DrawImage(bm, New Rectangle(0, 0, width, height), New Rectangle(0, 0, bm.Width, _
bm.Height), GraphicsUnit.Pixel)
g.Dispose()
'Resmin oluşturulacağı konum, dosya adı ve formatı burda belirlenir
thumb.Save("" & Application.StartupPath & "\YeniResim.jpeg", _
System.Drawing.Imaging.ImageFormat.Jpeg) 'Resim jpeg formatında oluşturulacak
bm.Dispose()
thumb.Dispose()
' Me.Close() 'exit app
End Sub
End Class