Sauvegarde image apres rotation

Résolu
alihome Messages postés 18 Date d'inscription dimanche 22 octobre 2006 Statut Membre Dernière intervention 2 juin 2011 - 21 avril 2008 à 22:59
alihome Messages postés 18 Date d'inscription dimanche 22 octobre 2006 Statut Membre Dernière intervention 2 juin 2011 - 22 avril 2008 à 15:35
Bonjour à tous,

J'ai trouver un code pour faire une rotation de mon image dans une picturebox et je souhaiterais pouvoir l'enregistrer par la suite ''à l'envers'' mais l'image reste à son état initial.

Quand je fais par exemple picturebox2.image = picturebox1.image,
l'image copier dans l'autre picturebox est celle d'origine .

Voici le code:

    Function Rotation(ByVal AngleDegre As Integer)
        Dim G As Graphics
        Dim Largeur As Integer = 200
        Dim Hauteur As Integer = 200

        Dim IMG As Image = Form1.pb_apercu.Image

        G = Form1.pb_apercu.CreateGraphics()

        G.Clear(Form1.BackColor)

        Dim Angle As Double = AngleDegre / 180 * Math.PI

        Dim PosX As Single = Math.Sqrt(2) * (Largeur) * Math.Sin(Angle / 2) * Math.Cos(Math.PI / 4 + Angle / 2)
        Dim PosY As Single = -Math.Sqrt(2) * (Largeur) * Math.Sin(Angle / 2) * Math.Cos(Math.PI / 4 - Angle / 2)

        G.RotateTransform(AngleDegre)

        G.DrawImage(IMG, PosX, PosY, Largeur, Hauteur)

        G.Dispose()
    End Function

Merci à vous.

1 réponse

alihome Messages postés 18 Date d'inscription dimanche 22 octobre 2006 Statut Membre Dernière intervention 2 juin 2011
22 avril 2008 à 15:35
Bon j'ai fini par trouver la solution, j'utilise un autre code :

        Dim img As New Bitmap(picturebox.Image)
        Dim newimage As New Bitmap(200, 200)
        Dim g As Graphics
        g = Graphics.FromImage(newimage)
        g.DrawImage(img, New RectangleF(0, 0, 200, 200))
        newimage.RotateFlip(RotateFlipType.Rotate90FlipNone)
        picturebox.Image = newimage

Il me permet meme de changer la tailler de l'image en changeant les chiffres 200, 200 (= Width et Height)

Ciao...
3
Rejoignez-nous