War diese Seite hilfreich?
Ihr Feedback ist uns wichtig. Teilen Sie uns Ihre Meinung mit.
Weiteres Feedback?
1500 verbleibende Zeichen
Exportieren (0) Drucken
Alle erweitern
Erweitern Minimieren
Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen.
Übersetzung
Original

Graphics.DrawImage-Methode (Image, Rectangle, Int32, Int32, Int32, Int32, GraphicsUnit, ImageAttributes, Graphics.DrawImageAbort, IntPtr)

Zeichnet den angegebenen Bereich vom angegebenen Image in der angegebenen Größe an der angegebenen Position.

Namespace:  System.Drawing
Assembly:  System.Drawing (in System.Drawing.dll)

public void DrawImage(
	Image image,
	Rectangle destRect,
	int srcX,
	int srcY,
	int srcWidth,
	int srcHeight,
	GraphicsUnit srcUnit,
	ImageAttributes imageAttrs,
	Graphics..::..DrawImageAbort callback,
	IntPtr callbackData
)

Parameter

image
Typ: System.Drawing.Image
Das zu zeichnende Image.
destRect
Typ: System.Drawing.Rectangle
Rectangle -Struktur, die die Position und Größe des gezeichneten Bildes angibt. Das Bild wird skaliert, sodass es in das Rechteck passt.
srcX
Typ: System.Int32
Die x-Koordinate der oberen linken Ecke des zu zeichnenden Bereichs des Quellbilds.
srcY
Typ: System.Int32
Die y-Koordinate der oberen linken Ecke des zu zeichnenden Bereichs des Quellbilds.
srcWidth
Typ: System.Int32
Breite des zu zeichnenden Bereichs des Quellbilds.
srcHeight
Typ: System.Int32
Höhe des zu zeichnenden Bereichs des Quellbilds.
srcUnit
Typ: System.Drawing.GraphicsUnit
Member der GraphicsUnit-Enumeration, der die Maßeinheiten angibt, mit denen das Quellrechteck bestimmt wird.
imageAttrs
Typ: System.Drawing.Imaging.ImageAttributes
ImageAttributes , das Informationen über erneutes Einfärben und Gammainformationen für das image-Objekt angibt.
callback
Typ: System.Drawing.Graphics.DrawImageAbort
Graphics.DrawImageAbort -Delegat, der eine Methode angibt, die während des Zeichnens des Bildes aufgerufen werden soll. Diese Methode wird häufig aufgerufen, um zu prüfen, ob die Ausführung der DrawImage-Methode gemäß den durch die Anwendung bestimmten Kriterien abgebrochen werden soll.
callbackData
Typ: System.IntPtr
Ein Wert, der zusätzliche Daten angibt, mit denen der Graphics.DrawImageAbort-Delegat prüfen kann, ob die Ausführung der DrawImage-Methode abgebrochen werden muss.

AusnahmeBedingung
ArgumentNullException

image hat den Wert null.

Der srcX-Parameter, der srcY-Parameter, der srcWidth-Parameter und der srcHeight-Parameter geben einen rechteckigen Teil des zu zeichnenden image-Objekts an. Das Rechteck ist relativ zur linken oberen Ecke des Quellbildes angegeben. Dieser Teil wird skaliert, sodass er in das durch den destRect-Parameter angegebene Rechteck passt.

Diese Überladung mit dem callback-Parameter und dem callbackData-Parameter bietet die Möglichkeit, den laufenden Zeichenvorgang eines Bildes gemäß von Kriterien zu unterbrechen, die von der Anwendung bestimmt sind. Wenn eine Anwendung z. B. mit dem Zeichnen eines großen Bildes beginnt und der Benutzer einen Bildlauf ausführt, bei dem das Bild über die Begrenzungen des Bildschirms hinaus verschoben wird, bricht die Anwendung den Zeichenvorgang ab.

Das folgende Codebeispiel ist für die Verwendung mit Windows Forms vorgesehen und erfordert PaintEventArgse, wobei es sich um einen Parameter des Paint-Ereignishandlers handelt. Der Code definiert zuerst eine Rückrufmethode für den Graphics.DrawImageAbort-Delegaten. Die Definition ist einfach und prüft lediglich, ob ein Aufruf durch die DrawImage-Methode mit einem auf NULL festgelegten callBackData-Parameter durchgeführt wird. Der Hauptteil des Beispiels führt die folgenden Aktionen aus:

  • Erstellt eine Instanz der Graphics.DrawImageAbort-Rückrufmethode.

  • Erstellt ein Bild aus der JPEG-Datei SampImag.jpg im Beispielordner.

  • Erstellt Punkte, die ein Zielrechteck definieren, in dem das Bild gezeichnet werden soll.

  • Erstellt ein Quellrechteck, um den Bereich des Bildes auszuwählen, der gezeichnet werden soll.

  • Legt die Grafikzeicheneinheit auf Pixel fest.

  • Zeichnet das ursprüngliche Bild auf dem Bildschirm.

  • Erstellt ein zusätzliches Zielrechteck, in dem ein angepasstes Bild gezeichnet werden soll.

  • Erstellt die Attribute des angepassten Bildes und legt diese so fest, dass das Bild einen überdurchschnittlichen Gammawert aufweist.

  • Zeichnet das angepasste Bild auf dem Bildschirm.

Die Position des ursprünglichen, nicht angepassten Zielrechtecks bestimmt die Position des Bildes auf dem Bildschirm, und die Größe des Quellrechtecks sowie die Größe und Form des Zielrechtecks bestimmen die Skalierung des gezeichneten Bildes.

Da in diesem Beispiel eine Überladung mit Übergabe eines callBackData-Parameters verwendet wird, gibt der Graphics.DrawImageAbort-Rückruf false zurück, woraufhin die DrawImage-Methode fortgesetzt und das angepasste Bild auf dem Bildschirm gezeichnet wird.



// Define DrawImageAbort callback method.
private bool DrawImageCallback6(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 DrawImageRect4IntAtrribAbortData(PaintEventArgs e)
{

    // Create callback method.
    Graphics.DrawImageAbort imageCallback
        = new Graphics.DrawImageAbort(DrawImageCallback6);
    IntPtr imageCallbackData = new IntPtr(1);

    // 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,
                imageCallbackData);
        }
    }
    catch (Exception ex)
    {
        e.Graphics.DrawString(
            ex.ToString(),
            new Font("Arial", 8),
            Brushes.Black,
            new PointF(0, 0));
    }
}


.NET Framework

Unterstützt in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 oder höher, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core wird nicht unterstützt), Windows Server 2008 R2 (Server Core wird mit SP1 oder höher unterstützt), Windows Server 2003 SP2

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Community-Beiträge

HINZUFÜGEN
Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur MSDN-Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die MSDN-Website verlassen.

Möchten Sie an der Umfrage teilnehmen?
Anzeigen:
© 2015 Microsoft