locked
Comment redimensionner une image en gardant les proportions RRS feed

  • Discussion générale

  • L'idée principale : créer une nouvelle image avec une nouvelle taille, puis dessinez le bitmap d'origine sur le nouvel objet bitmap

     

    Conditions préalables : un formulaire Form1 avec les composants Button1, PictureBox1 et PictureBox2

     

    Public Class Form1
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            PictureBox1.ImageLocation = "D:\mm.jpg"
            PictureBox2.ImageLocation = "D:\mmm.jpg"
        End Sub
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            resizeImage(PictureBox1.ImageLocation, PictureBox1)
            resizeImage(PictureBox2.ImageLocation, PictureBox2)
        End Sub
     
        Public Sub resizeImage(ByVal imgPath As String, ByVal picbox As PictureBox)
            ' prendre le bitmap source   
            Dim bm_source As Bitmap = New Bitmap(imgPath)
            ' calculer les proportions du bitmap source   
            Dim scale As Double = bm_source.Height / bm_source.Width
            ' creer un nouveau bitmap   
            Dim bm_dest As New Bitmap(CInt(picbox.Width), CInt(picbox.Width * scale))
            ' creer un objet Graphics pour le nouveau bitmap   
            Dim gr_dest As Graphics = Graphics.FromImage(bm_dest)
            ' copier l'image source dans le bitmap destination   
            gr_dest.DrawImage(bm_source, 0, 0, bm_dest.Width + 1, bm_dest.Height + 1)
            ' afficher le nouveau bitmap dans le PictureBox   
            picbox.Image = bm_dest
        End Sub
    End Class

     

     

    Pour plusieurs questions sur Visual Basic .NET, visitez Foire aux Questions – Visual Basic .NET FAQ et didacticiels

     

     

     
    Alex Petrescu - MSFT
    lundi 8 février 2010 13:26