Rotation image picturebox...galère allemande

Résolu
noelaurent Messages postés 13 Date d'inscription jeudi 17 janvier 2008 Statut Membre Dernière intervention 19 juin 2008 - 29 avril 2008 à 20:09
noelaurent Messages postés 13 Date d'inscription jeudi 17 janvier 2008 Statut Membre Dernière intervention 19 juin 2008 - 30 avril 2008 à 07:47
Bonjour a tous !


Je suis confronté à un problème de rigolo (pour vous les avertis), mais que je n´arrive pas à résoudre...je dois afficher une image dans une picturebox (ca c´est ok) puis la faire tourner de 90 degrés sur commande...et c´est la que ca coince ! J´ai passé pas mal de temps sur des forums...en vain.. merci pour votre aide !


Mon code est :



Public

Class Form1<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>






 







   
Private
Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click






 







       
Dim img As Image






       
If OpenFileDialog1.ShowDialog() = DialogResult.OK Then






            img = Image.FromFile(OpenFileDialog1.FileName)






 







            PictureBox1.Image = img






            PictureBox1.Height = img.Height + 90






            PictureBox1.Width = img.Width + 90






 







 







       
End
If







 







   
End
Sub











Jusqu´ici c´est ok , mais le second bouton qui doit permettre la rotation de l´image(ci dessous) ne fonctionne pas ...pourriez vous m expliquer pourquoi ?
 









 







   
Private
Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click






 







 







        PictureBox1.Image.RotateFlip(RotateFlipType.Rotate90FlipXY)






 







 







   

End

Sub






End

Class









Merci infiniment pour votre aide !

Noé

3 réponses

Utilisateur anonyme
29 avril 2008 à 21:18
Salut,

Il suffit simplement d'actualiser la picturbox
Ajoute PictureBox1.Invalidate() après la rotation.

__________
  Kenji
1
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
29 avril 2008 à 20:34
Salut,
Essaies ceci (code tiré de cette page)
Private Sub btnRotate_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles btnRotate.Click
    Dim wid As Integer
    Dim hgt As Integer
    Dim X As Integer
    Dim Y As Integer

    ' Make a Bitmap representing the input image.
    Dim bm_in As New Bitmap(picIn.Image)
    wid = bm_in.Width
    hgt = bm_in.Height

    ' Make the output bitmap.
    Dim bm_out As New Bitmap(hgt, wid)

    ' Copy the pixel values.
    For X = 0 To wid - 1
        For Y = 0 To hgt - 1
            bm_out.SetPixel(hgt - Y - 1, X, _
                bm_in.GetPixel(X, Y))
        Next Y
    Next X

    ' Display the result.
    picOut.Image = bm_out
End Sub, ----
(Coloration syntaxique automatique par Kenji)

@+: Ju£i?n
Pensez: Réponse acceptée
0
noelaurent Messages postés 13 Date d'inscription jeudi 17 janvier 2008 Statut Membre Dernière intervention 19 juin 2008
30 avril 2008 à 07:47
Merci infiniment à tous les deux pour votre aide. Bonne continuation et joyeux 1er mai !

Merci !

Noé
0
Rejoignez-nous