Bonjour,
le contexte :
j'ai un form (form1) contenant :
=> une picturebox (PictureBox1)
=> un bouton (Button1)
=> une openfiledialog (OpenFileDialog1)
je souhaite que l'utilisateur puisse insérer une image dans la picturebox, en passant pas l'openfiledialog1 qui s'affiche lors du clique sur button1.
Mon problème : je souhaite que l'image insérée soit automatiquement dimensionnée proportionnellement aux dimensions de la picturebox1.
J'ai commencé ma réflexion sur le cas ou l'image est plus grande que la picturebox mais uniquement en hauteur. J'ai tapé ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
            PictureBox1.Load(OpenFileDialog1.FileName)
            Dim largMax As Integer = PictureBox1.Width
            Dim hautMax As Integer = PictureBox1.Height
            Dim imgHauteur As Double = PictureBox1.Image.Height
            Dim imgLargeur As Double = PictureBox1.Image.Width
            Dim imgRatio As Double = imgLargeur / imgHauteur
            Dim imgredim As Image = PictureBox1.Image
 
 
            'si l'image est plus grande en hauteur uniquement
            If imgHauteur > hautMax And (imgLargeur < largMax Or imgLargeur = largMax) Then
                imgredim.Height = hautMax
                imgredim.Width = imgRatio * hautMax
                PictureBox1.Image = imgredim
            End If
        End If
    End Sub
PROBLEME : les deux lignes suivantes sont soulignées et il m'indique qu'il s'agit de propriété en lecture seule...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
                imgredim.Height = hautMax
                imgredim.Width = imgRatio * hautMax
Au final, comment faire en sorte que l'image insérée soit automatiquement dimensionnée proportionnellement aux dimensions de la picturebox1.

Merci pour votre aide.