Asp.Net ile Resim Boyutlandırma Nasıl Yapılır?

Uzun bir aradan sonra yine merhaba,

Asp.net üzerinde resim boyutlandırma yapabilmek için google ile arama yaptığımızda bir çok site ile karşılaşabilirsiniz, bunlarda yer alan kodları denediğinizde ise sorun yaşamanız muhtemeldir ki bende bu sıkıntıları zamanında yaşadım 🙂

Ancak aşağıda anlattığım şekilde yapacağınız kodlama ile sitenizde yer alan resmin yatay /dikey durumda olup olmadığını görebilir ve tüm ölçeklendirmelerinizi buna göre yapabilirsiniz. Ya da resim boyutlandırmasını aynı resim üzerinde yapabildiğiniz gibi Thumbnail gösterimler için küçültülmüş resimleri farklı isimde de kayıt edebilirsiniz.

Öncelikle sayfamıza

Imports System.Collections.Generic
Imports System.Drawing
Imports System.Drawing.Imaging

ile referanslarımızı ekliyoruz. Ardından aşağıdaki kodları yazıyoruz.

Private Sub boyutlandir(dosya As String, tmb As String, genislik As Short, yukseklik As Short)

        Dim objImage, objThumbnail As System.Drawing.Image

        objImage = Drawing.Image.FromFile(Server.MapPath("~\MyFiles") & "\resim\" & dosya)

        Dim ebatlar As Size = New Size(objImage.Width, objImage.Height)

        If objImage.Width > objImage.Height Then 'Resim Yatay
            Dim oran As Double = CDbl(objImage.Width) / CDbl(objImage.Height)
            ebatlar.Width = genislik
            ebatlar.Height = CInt(CDbl(genislik / oran))
        Else
            Dim oran As Double = CDbl(objImage.Height) / CDbl(objImage.Width)
            ebatlar.Height = yukseklik
            ebatlar.Width = CInt(CDbl(yukseklik / oran))
        End If

        objThumbnail = objImage.GetThumbnailImage(ebatlar.Width, ebatlar.Height, Nothing, System.IntPtr.Zero)
        objImage.Dispose()
        If tmb = "" Then
            objThumbnail.Save(Server.MapPath("~\MyFiles") & "\resim\" & dosya)
        Else
            objThumbnail.Save(Server.MapPath("~\MyFiles") & "\resim\" & tmb)
        End If

        objThumbnail.Dispose()

    End Sub