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 :
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
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
Au final, comment faire en sorte que l'image insérée soit automatiquement dimensionnée proportionnellement aux dimensions de la picturebox1.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 imgredim.Height = hautMax imgredim.Width = imgRatio * hautMax
Merci pour votre aide.
Partager