Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [Vb.net] ridimensionare immagini

    salve raga,
    ho fatto un piccolo programmino che permette di ridimensionare immagini png,jpeg,gif,bmp.

    Praticamente faccio selezionare un'immagine di Input, faccio inserire le nuove dimensioni (altezza e larghezza) e poi creo una nuova immagine ridimensionata cosi:

    codice:
            Dim ImmagineOut As Image
            Dim ImmagineIn As Bitmap
    
    
                ImmagineIn = New Bitmap(PathFileIn)
                ImmagineOut = New Bitmap(ImmagineIn , TxtWidth.Text, TxtHeight.Text)
    ImmaginePiccola.Save("percorso/nuovonome.estensione")
    Ora mi chiedevo. Esiste un altro modo per ridimensionare immagini?. Ovviamento un modo migliore di questo, cioe' che mi garantisce una qualita migliore. Se si potete indicarmelo?

  2. #2

    Re: [Vb.net] ridimensionare immagini

    Originariamente inviato da Salvatore_91
    salve raga,
    ho fatto un piccolo programmino che permette di ridimensionare immagini png,jpeg,gif,bmp.

    Praticamente faccio selezionare un'immagine di Input, faccio inserire le nuove dimensioni (altezza e larghezza) e poi creo una nuova immagine ridimensionata cosi:

    codice:
            Dim ImmagineOut As Image
            Dim ImmagineIn As Bitmap
    
    
                ImmagineIn = New Bitmap(PathFileIn)
                ImmagineOut = New Bitmap(ImmagineIn , TxtWidth.Text, TxtHeight.Text)
    ImmaginePiccola.Save("percorso/nuovonome.estensione")
    Ora mi chiedevo. Esiste un altro modo per ridimensionare immagini?. Ovviamento un modo migliore di questo, cioe' che mi garantisce una qualita migliore. Se si potete indicarmelo?
    Che intendi per qualità? Il ridimensionamento comporta un aumento delle dimensioni dell'immagine?
    Precisa meglio altrimenti dovremo presto iniziare a parlare di pixel e formati immagini..


    Ciao

  3. #3
    io vorrei sia poter aumentare le dimensioni dell'immagine e sia diminuirle, perdendo meno qualita' ovviamente

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    970
    Ovviamente dipende anche in che formato salvi (se salvi) l'immagine ridimensionata. Un'immagine da 1024x768 di qualsiasi formato sia e ridimensionata e salvata in .jpg perdi sia in definizione (sia che allarghi che rimpicciolisci) sia in qualità dovuta all'ulteriore compressione che subisce l'immagine durante la memorizzazione su file. Ma dipende dal formato che usi, in generale da .JPG a .JPG, mantenendo la stessa compressione perdi 2 volte in qualità.

    La qualità del ridimensionamento dipende anche dal metodo che usi per ridimensionare i pixel. Di default mi sembra che col metodo che hai menzionato usi il bilineare ma non ne sono sicuro.
    Ecco un'esempio:

    codice:
     Sub resizeImage(ByVal source As String, ByVal destination As String, ByVal altezza As Integer, ByVal larghezza As Integer, ByVal qualita As Integer)
            Try
                Dim bmp1 As New Bitmap(source)
                Dim bmp2 As New Bitmap(larghezza, altezza, PixelFormat.Format24bppRgb)
                Dim g As Graphics = Graphics.FromImage(bmp2)
                 g.InterpolationMode = InterpolationMode.HighQualityBicubic
                 g.DrawImage(bmp1, 0, 0, bmp2.Width, bmp2.Height)
                g.Dispose()
    
                Dim jgpEncoder As ImageCodecInfo = GetEncoder(ImageFormat.Jpeg)
                Dim myEncoder As System.Drawing.Imaging.Encoder = System.Drawing.Imaging.Encoder.Quality
                Dim myEncoderParameters As New EncoderParameters(1)
                Dim myEncoderParameter As New EncoderParameter(myEncoder, qualita)
                myEncoderParameters.Param(0) = myEncoderParameter
    
                bmp2.Save(destination, jgpEncoder, myEncoderParameters)
                bmp1.Dispose()
                bmp2.Dispose()
            Catch ex As Exception
            End Try
        End Sub

    Sbagliare è umano, perseverare è diabolico.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.