VB.Net PictureBox StretchImage

cs_MagDix Messages postés 531 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 6 octobre 2012 - 1 déc. 2008 à 17:35
cs_fauve Messages postés 661 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 mars 2011 - 1 déc. 2008 à 21:35
Bonjour à tous...


Je fais afficher une image dans un picturebox et mon image a une dimenssion de 1024 x 780


Mon Picture à une dimension de 640 x 480


J'utilise la fonction StretchImage mais il ne se passe rien.
Mon image initial a toujours une diomension de 1024 x 780


Merci de me dire qu'est ce que je ne fais pas correctement




Dim Image As System.Drawing.Image


PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage


Image = System.Drawing.Bitmap.FromFile("c:\Image.jpg", FileMode.Open)


'Ici, si je mets les lignes de codes suivantes en commentaire, je n'ai aucune image qui apprait dans le picturebox
'Je veux mettre ces lignes en commentaire car ca mets mon picturebox en 1024 x 780


'Dimensions de l'affichage de départ
w = image1.Width
h = image1.Height
PictureBox1.Width = w * Zoom
PictureBox1.Height = h * Zoom


Je suis vraiment perdu...


Merci de votre aide      

3 réponses

cs_fauve Messages postés 661 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 mars 2011 8
1 déc. 2008 à 17:57
Salut,

Ben décidément, tu enchaînes les codes qui devraient fonctionner mais qui chez toi ne fonctionne pas.

En mettant :

PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage

Ton image est belle et bien redimensionnée pour être affichée complètement dans la PictureBox et ça fonctionne chez moi.

Je ne comprends pas d'où peut venir ce problème. As tu essayé comme je te l'avais dit d'installer de nouveau ta plateforme de développement ainsi que le framework ?

Si oui je peux plus vraiment t'aider

Pensez : Réponse Acceptée 
0
cs_MagDix Messages postés 531 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 6 octobre 2012 1
1 déc. 2008 à 18:45
Rebonjour Fauve....


 


et bien le code que j'utilise fonctionne dans un autre programme (la fonction StretchImage).

Cepandant j'utilise un autre facon pour faire afficher l'image.
Je voulais utiliser un autre facon de faire car j'ai de la difficulté a gérer le zoom...

Mais merci de confirmer que le code est OK...  Je vais chercher autrement...

Bye bye
0
cs_fauve Messages postés 661 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 mars 2011 8
1 déc. 2008 à 21:35
Salut,

Je ne sais pas si tu as réussi avec le zoom...

J'ai donc crée un code (pour une démonstration) qui va te permettre de zoomer une image d'une PictureBox

Note : Tu as juste à créer un nouveau projet et copier directement le code. Les contrôles seront crées dynamiquement.

Code :
 
Public Class Form1

    Dim PanelPictureBox1 As New Panel
    Dim PictureBox1 As New PictureBox
    Dim BoutonZoomPlus, BoutonZoomMoins As New Button

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Dim img As Image

        Me.Size = New Size(700, 700)
        Me.Text = "Test Zoom +/-"
        Me.StartPosition = FormStartPosition.WindowsDefaultBounds
        Dim FileBrowser As New OpenFileDialog
        FileBrowser.CheckFileExists = True
        FileBrowser.CheckPathExists = True
        FileBrowser.Filter = "Images|*.jpg;*.gif;*.png"
        FileBrowser.Multiselect = False
        FileBrowser.ValidateNames = True

        If FileBrowser.ShowDialog() = Windows.Forms.DialogResult.Cancel Then
            MsgBox("Vous devez absolument choisir une image !")
            MsgBox("Veuillez relancer le programme !")
            Exit Sub
        End If

        img = Image.FromFile(FileBrowser.FileName)
        If img.Height > 450 Or img.Width > 450 Then
            MsgBox("L'image ne doit pas dépasser la taille 450 x 450 pixels")
            Exit Sub
        End If

        BoutonZoomPlus.Location = New Point(500, 10)
        BoutonZoomMoins.Location = New Point(500, 35)
        BoutonZoomPlus.Text = "Zoom +"
        BoutonZoomMoins.Text = "Zoom -"

        Me.Controls.Add(BoutonZoomPlus)
        Me.Controls.Add(BoutonZoomMoins)

        PictureBox1.Image = Image.FromFile(FileBrowser.FileName)
        PictureBox1.Height = PictureBox1.Image.Height
        PictureBox1.Width = PictureBox1.Image.Width
        PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
        PictureBox1.BackgroundImageLayout = ImageLayout.Tile
        PanelPictureBox1.Controls.Add(PictureBox1)

        PanelPictureBox1.Location = New Point(10, 10)
        PanelPictureBox1.Size = New Size(PictureBox1.Width + 15, PictureBox1.Height + 15)
        PanelPictureBox1.AutoScroll = True
        Me.Controls.Add(PanelPictureBox1)

        AddHandler BoutonZoomPlus.Click, AddressOf ZoomPlus
        AddHandler BoutonZoomMoins.Click, AddressOf ZoomMoins

    End Sub

    Sub ZoomPlus()
        PictureBox1.Height *= 2
        PictureBox1.Width *= 2
    End Sub

    Sub ZoomMoins()
        PictureBox1.Height /= 2
        PictureBox1.Width /= 2
    End Sub

End Class

<!-- Coloration syntaxique vb/vba/vb.net : http://charles.racaud.free.fr/code-syntaxing/ -->Coloration syntaxique vb/vba/vb.net


Si tu as des questions, n'hésites pas

++

Fauve
Pensez : Réponse Acceptée 
0
Rejoignez-nous