Cette page vous a-t-elle été utile ?
Votre avis sur ce contenu est important. N'hésitez pas à nous faire part de vos commentaires.
Vous avez d'autres commentaires ?
1500 caractères restants
Exporter (0) Imprimer
Développer tout
Développer Réduire

Graphics.DrawImage, méthode (Image, Rectangle, Int32, Int32, Int32, Int32, GraphicsUnit, ImageAttributes, Graphics.DrawImageAbort)

Dessine la partie mentionnée du Image spécifié à l'emplacement indiqué avec la taille précisée.

Espace de noms: System.Drawing
Assembly : System.Drawing (dans system.drawing.dll)

public void DrawImage (
	Image image,
	Rectangle destRect,
	int srcX,
	int srcY,
	int srcWidth,
	int srcHeight,
	GraphicsUnit srcUnit,
	ImageAttributes imageAttr,
	DrawImageAbort callback
)
public void DrawImage (
	Image image, 
	Rectangle destRect, 
	int srcX, 
	int srcY, 
	int srcWidth, 
	int srcHeight, 
	GraphicsUnit srcUnit, 
	ImageAttributes imageAttr, 
	DrawImageAbort callback
)
public function DrawImage (
	image : Image, 
	destRect : Rectangle, 
	srcX : int, 
	srcY : int, 
	srcWidth : int, 
	srcHeight : int, 
	srcUnit : GraphicsUnit, 
	imageAttr : ImageAttributes, 
	callback : DrawImageAbort
)
Non applicable.

Paramètres

image

Image à dessiner.

destRect

Structure Rectangle qui spécifie l'emplacement et la taille de l'image dessinée. L'image est ajustée de manière à tenir à l'intérieur du rectangle.

srcX

Coordonnée x de l'angle supérieur gauche de la partie de l'image source à dessiner.

srcY

Coordonnée y de l'angle supérieur gauche de la partie de l'image source à dessiner.

srcWidth

Largeur de la partie de l'image source à dessiner.

srcHeight

Hauteur de la partie de l'image source à dessiner.

srcUnit

Membre de l'énumération GraphicsUnit qui spécifie les unités de mesure permettant de déterminer le rectangle source.

imageAttr

ImageAttributes qui spécifie des informations de recoloriage et de gamma pour image.

callback

Délégué Graphics.DrawImageAbort qui spécifie une méthode à appeler lors du dessin de l'image. Cette méthode est fréquemment appelée pour vérifier si l'exécution de la méthode DrawImage doit être arrêtée selon des critères déterminés par l'application.

Type d'exceptionCondition

ArgumentNullException

image a la valeur référence Null (Nothing en Visual Basic).

Les paramètres srcX, srcY, srcWidth et srcHeight spécifient une partie rectangulaire de l'objet image à dessiner. Le rectangle est fonction de l'angle supérieur gauche de l'image source. Cette partie est ajustée de manière à tenir à l'intérieur du rectangle spécifié par l'objet destRect.

Cette surcharge avec le paramètre callback permet d'arrêter le dessin d'une image qui a commencé selon des critères déterminés par l'application. Si, par exemple, une application commence à dessiner une image grand format et si l'utilisateur fait défiler l'image en dehors de l'écran, l'application arrête alors le dessin.

L'exemple de code suivant est destiné à être utilisé avec Windows Forms et nécessite PaintEventArgse, qui est un paramètre du gestionnaire d'événements Paint. Le code commence par définir une méthode de rappel pour le délégué Graphics.DrawImageAbort ; la définition est simpliste et se contente de vérifier si la méthode DrawImage l'appelle avec un paramètre callBackData null. Le corps de l'exemple permet d'effectuer les opérations suivantes :

  • Crée une instance de la méthode de rappel Graphics.DrawImageAbort.

  • Crée une image à partir d'un fichier JPEG, SampImag.jpg, dans le dossier de l'exemple.

  • Crée des points qui définissent un rectangle de destination dans lequel dessiner l'image.

  • Crée un rectangle source pour sélectionner la partie de l'image à dessiner.

  • Définit le pixel comme unité de dessin graphique.

  • Dessine l'image d'origine à l'écran.

  • Crée un autre rectangle de destination dans lequel dessiner une image ajustée.

  • Crée et définit les attributs de l'image ajustée pour obtenir une valeur de gamma supérieure à la normale.

  • Dessine l'image ajustée à l'écran.

Concernant le rectangle de destination non ajusté d'origine, la position situe l'image à l'écran, tandis que la taille du rectangle source et la taille et la forme du rectangle de destination déterminent la mise à l'échelle de l'image dessinée.

Comme cet exemple utilise une surcharge qui ne passe pas de paramètre callBackData, le rappel de Graphics.DrawImageAbort retourne true, ce qui provoque l'arrêt de la méthode DrawImage, et le code de gestion des exceptions figurant dans l'exemple imprime le texte de l'exception au lieu de dessiner l'image.


// Define DrawImageAbort callback method.
private bool DrawImageCallback5(IntPtr callBackData)
{
             
    // Test for call that passes callBackData parameter.
    if(callBackData==IntPtr.Zero)
    {
             
        // If no callBackData passed, abort DrawImage method.
        return true;
    }
    else
    {
             
        // If callBackData passed, continue DrawImage method.
        return false;
    }
}
private void DrawImageRect4IntAtrribAbort(PaintEventArgs e)
{
             
    // Create callback method.
    Graphics.DrawImageAbort imageCallback
        = new Graphics.DrawImageAbort(DrawImageCallback5);
             
    // Create image.
    Image newImage = Image.FromFile("SampImag.jpg");
             
    // Create rectangle for displaying original image.
    Rectangle destRect1 = new Rectangle(100, 25, 450, 150);
             
    // Create coordinates of rectangle for source image.
    int x = 50;
    int y = 50;
    int width = 150;
    int height = 150;
    GraphicsUnit units = GraphicsUnit.Pixel;
             
    // Draw original image to screen.
    e.Graphics.DrawImage(newImage, destRect1, x, y, width, height, units);
             
    // Create rectangle for adjusted image.
    Rectangle destRect2 = new Rectangle(100, 175, 450, 150);
             
    // Create image attributes and set large gamma.
    ImageAttributes imageAttr = new ImageAttributes();
    imageAttr.SetGamma(4.0F);
    try
    {
        checked
        {
             
            // Draw adjusted image to screen.
            e.Graphics.DrawImage(
                newImage,
                destRect2,
                x, y,
                width, height,
                units,
                imageAttr,
                imageCallback);
        }
    }
    catch (Exception ex)
    {
        e.Graphics.DrawString(
            ex.ToString(),
            new Font("Arial", 8),
            Brushes.Black,
            new PointF(0, 0));
    }
}

Windows 98, Windows Server 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Microsoft .NET Framework 3.0 est pris en charge sur Windows Vista, Microsoft Windows XP SP2 et Windows Server 2003 SP1.

.NET Framework

Prise en charge dans : 3.0, 2.0, 1.1, 1.0

Ajouts de la communauté

AJOUTER
Afficher:
© 2015 Microsoft