Partager via


Comment : rogner et mettre à l'échelle des images

Mise à jour : novembre 2007

La classe Graphics fournit plusieurs méthodes DrawImage, dont certaines ont des paramètres de rectangle source et destination que vous pouvez utiliser pour rogner et mettre à l'échelle des images.

Exemple

L'exemple suivant construit un objet Image à partir du fichier disque Apple.gif. Le code dessine l'image complète d'une pomme à sa taille d'origine. Le code appelle ensuite la méthode DrawImage d'un objet Graphics pour dessiner une partie de l'image de la pomme dans un rectangle de destination plus grand que l'image d'origine.

La méthode DrawImage détermine la partie de la pomme à dessiner en examinant le rectangle source, qui est spécifié par les troisième, quatrième, cinquième et sixième arguments. Dans ce cas, la pomme est rognée à 75 pour cent de sa largeur et 75 pour cent de sa hauteur.

La méthode DrawImage détermine l'emplacement où dessiner la pomme rognée et la taille à attribuer à la pomme rognée en examinant le rectangle de destination qui est spécifié par le deuxième argument. Dans ce cas, le rectangle de destination est 30 pour cent plus large et 30 pour cent plus haut que l'image d'origine.

L'illustration suivante montre la pomme d'origine et la pomme rognée mise à l'échelle.

Rogner et mettre à l'échelle

Dim image As New Bitmap("Apple.gif")

' Draw the image unaltered with its upper-left corner at (0, 0).
e.Graphics.DrawImage(image, 0, 0)

' Make the destination rectangle 30 percent wider and
' 30 percent taller than the original image.
' Put the upper-left corner of the destination
' rectangle at (150, 20).
Dim width As Integer = image.Width
Dim height As Integer = image.Height
Dim destinationRect As New RectangleF( _
    150, _
    20, _
    1.3F * width, _
    1.3F * height)

' Draw a portion of the image. Scale that portion of the image
' so that it fills the destination rectangle.
Dim sourceRect As New RectangleF(0, 0, 0.75F * width, 0.75F * height)
e.Graphics.DrawImage( _
    image, _
    destinationRect, _
    sourceRect, _
    GraphicsUnit.Pixel)

Image image = new Bitmap("Apple.gif");

// Draw the image unaltered with its upper-left corner at (0, 0).
e.Graphics.DrawImage(image, 0, 0);

// Make the destination rectangle 30 percent wider and
// 30 percent taller than the original image.
// Put the upper-left corner of the destination
// rectangle at (150, 20).
int width = image.Width;
int height = image.Height;
RectangleF destinationRect = new RectangleF(
    150,
    20,
    1.3f * width,
    1.3f * height);

// Draw a portion of the image. Scale that portion of the image
// so that it fills the destination rectangle.
RectangleF sourceRect = new RectangleF(0, 0, .75f * width, .75f * height);
e.Graphics.DrawImage(
    image,
    destinationRect,
    sourceRect,
    GraphicsUnit.Pixel);

Compilation du code

L'exemple précédent est destiné à une utilisation avec Windows Forms et nécessite PaintEventArgs e, qui est un paramètre du gestionnaire d'événements Paint. Veillez à remplacer Apple.gif par le nom et le chemin d'accès d'un fichier image valides sur votre système.

Voir aussi

Autres ressources

Images, bitmaps et métafichiers

Utilisation des images, bitmaps, icônes et métafichiers