Home

Opérations sur les Bitmaps: Tourner une Image

 

Description

Tourner une image consiste à changer son orientation angulaire. La classe Image supporte cette opération (avec des options quelque peu limitée) par sa méthode RotateFlip(). La valeur que vous passez comme argument déterminerait comment l'opération se passerait. 

Les membres de l'énumération RotateFlipType qui sont utilisés pour tourner une image sont:

  • RotateNoneFlipNone: Rien ne se passerait
  • Rotate90FlipNone: L'image tournerait à 90° dans le sense d'une montre. Comme résultat, après avoir appelé la méthode avec ce membre, ce qui se trouve à gauche de la photo originale serait positionné au haut de la photo. Voici un exemple:
     
    Photo Originale Après avoir appelé la méthode
    Rotation =>
    Remarquez que, après que la méthode ait été appelée, la personne porte encore la télécommande avec la main droite. Voici un exemple:
    private void btnRotate_Click(object sender, EventArgs e)
    {
            Bitmap bmpPicture = new Bitmap("person1.gif");
            bmpPicture.RotateFlip(RotateFlipType.Rotate90FlipNone);
            CreateGraphics().DrawImage(bmpPicture, 10, 10);
    }
  • Rotate180FlipNone: La photo est tournée à 90° dans le sense des aiguilles d'une montre deux fois. Ceci signifie que la photo est d'abord tournée à 90°, puis tournée encore à 90°. Comme résultat, après avoir appelé la méthode avec ce membre, ce qui se trouve à gauche de la photo originale deviendrait positionné à droite mais ce qui est en haut serait positionné au bas de la photo. Voici un exemple:
     
    Photo Originale
    Après avoir appelé la méthode
    Remarquez que, après que la méthode ait été appelée, la personne porte encore la télécommande avec la main droite. Comme résultat, la télécommande est à l'opposé de la photo, ce qui indique qu'elle est dans la même main.
    You pouvez obtenir le même résultat en appelant la méthode deux fois avec le membre Rotate90FlipNone chaque fois:
    private void btnRotate_Click(object sender, EventArgs e)
    {
            Bitmap bmpPicture = new Bitmap("person1.gif");
            bmpPicture.RotateFlip(RotateFlipType.Rotate90FlipNone);
            bmpPicture.RotateFlip(RotateFlipType.Rotate90FlipNone);
            CreateGraphics().DrawImage(bmpPicture, 10, 10);
    }
  • Rotate270FlipNone: La photo est tournée à 90° dans le sense des aiguilles d'une montre trois fois. Ceci signifie que la photo est d'abord tournée à 90°, puis tournée encore à 90°, et puis encore tournée à 90°. Voici un exemple:
     
    Photo Originale Après avoir appelé la méthode
    => Rotation
    Remarquez que, après que la méthode ait été appelée, la personne porte encore la télécommande avec la main droite.
    Vous pouvez obtenir le même résultat en appelant la méthode trois fois with le member Rotate90FlipNone chaque fois:
    private void btnRotate_Click(object sender, EventArgs e)
    {
            Bitmap bmpPicture = new Bitmap("person1.gif");
            bmpPicture.RotateFlip(RotateFlipType.Rotate90FlipNone);
            bmpPicture.RotateFlip(RotateFlipType.Rotate90FlipNone);
            bmpPicture.RotateFlip(RotateFlipType.Rotate90FlipNone);
            CreateGraphics().DrawImage(bmpPicture, 10, 10);
    }
  • Rotate180FlipXY: Pas de vrai changement. En réalité, La photo est tournée à 90° quatre fois et puis retourne à son orientation et position originales:
     
    Photo Originale
    Après avoir appelé la méthode
  • Rotate90FlipX: La photo est en mirroire, puis tournée à 90° contre le sense des aiguilles d'une montre (ou tournée à 90° contre le sense des aiguilles d'une montre puis en mirroire):
     
    Photo Originale Après avoir appelé la méthode
    =>
    Remarquez que, après que la méthode ait été appelée, la personne porte maintenant la télécommande avec sa main gauche
  • Rotate180FlipX: La photo est en mirroire, puis tournée à 180° contre le sense des aiguilles d'une montre deux fois (ou tournée à 180° contre le sense des aiguilles d'une montre deux fois puis en mirroire):
     
    Photo Originale
    Après avoir appelé la méthode
    Remarquez que, après que la méthode ait été appelée, la personne porte maintenant la télécommande avec la main gauche. Par conséquent, la télécommande est du même côté de l'écran sur les deux photos (comparez avec Rotate180FlipNone)
  • Rotate270FlipX: La photo est en mirroire, puis tournée à 90° contre le sense des aiguilles d'une montre trois fois (ou tournée à 90° contre le sense des aiguilles d'une montre trois fois puis en mirroire):
     
    Photo Originale Après avoir appelé la méthode
    =>
    Remarquez que, après que la méthode ait été appelée, la personne porte maintenant la télécommande à la main gauche
  • Rotate90FlipY: Produit le même résultat que Rotate270FlipX 
  • Rotate270FlipY: Produit le même résultat que Rotate90FlipX
  • Rotate90FlipXY: Produit le même résultat que Rotate270FlipNone
  • Rotate270FlipXY: Produit le même résultat que Rotate90FlipNone
  • RotateNoneFlipXY: Produit le même résultat que Rotate180FlipNone
 
 
 
 

Accueil Copyright © 2009, yevol.com