DrawingContext Klasse

Definition

Beschreibt visuelle Inhalte mithilfe von Zeichnen-, Push- und Popbefehlen.

public ref class DrawingContext abstract : System::Windows::Threading::DispatcherObject, IDisposable
public abstract class DrawingContext : System.Windows.Threading.DispatcherObject, IDisposable
type DrawingContext = class
    inherit DispatcherObject
    interface IDisposable
Public MustInherit Class DrawingContext
Inherits DispatcherObject
Implements IDisposable
Vererbung
DrawingContext
Implementiert

Beispiele

Im folgenden Beispiel wird ein DrawingContext Aus einem DrawingVisual Objekt abgerufen und zum Zeichnen eines Rechtecks verwendet.

// Create a DrawingVisual that contains a rectangle.
private DrawingVisual CreateDrawingVisualRectangle()
{
    DrawingVisual drawingVisual = new DrawingVisual();

    // Retrieve the DrawingContext in order to create new drawing content.
    DrawingContext drawingContext = drawingVisual.RenderOpen();

    // Create a rectangle and draw it in the DrawingContext.
    Rect rect = new Rect(new System.Windows.Point(160, 100), new System.Windows.Size(320, 80));
    drawingContext.DrawRectangle(System.Windows.Media.Brushes.LightBlue, (System.Windows.Media.Pen)null, rect);

    // Persist the drawing content.
    drawingContext.Close();

    return drawingVisual;
}
' Create a DrawingVisual that contains a rectangle.
Private Function CreateDrawingVisualRectangle() As DrawingVisual
    Dim drawingVisual As New DrawingVisual()

    ' Retrieve the DrawingContext in order to create new drawing content.
    Dim drawingContext As DrawingContext = drawingVisual.RenderOpen()

    ' Create a rectangle and draw it in the DrawingContext.
    Dim rect As New Rect(New Point(160, 100), New Size(320, 80))
    drawingContext.DrawRectangle(Brushes.LightBlue, CType(Nothing, Pen), rect)

    ' Persist the drawing content.
    drawingContext.Close()

    Return drawingVisual
End Function

Im nächsten Beispiel wird der PushOpacity Befehl veranschaulicht. Das DrawingContext wird von einem DrawingGroup Steuerelement abgerufen und mit einem Image Steuerelement angezeigt.

using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using System.Windows.Media.Effects;

namespace SDKSample
{

    public class PushEffectExample : Page
    {

        public PushEffectExample()
        {
            Pen shapeOutlinePen = new Pen(Brushes.Black, 2);
            shapeOutlinePen.Freeze();

            // Create a DrawingGroup
            DrawingGroup dGroup = new DrawingGroup();

            // Obtain a DrawingContext from 
            // the DrawingGroup.
            using (DrawingContext dc = dGroup.Open())
            {
                // Draw a rectangle at full opacity.
                dc.DrawRectangle(Brushes.Blue, shapeOutlinePen, new Rect(0, 0, 25, 25));

                // Push an opacity change of 0.5. 
                // The opacity of each subsequent drawing will
                // will be multiplied by 0.5.
                dc.PushOpacity(0.5);

                // This rectangle is drawn at 50% opacity.
                dc.DrawRectangle(Brushes.Blue, shapeOutlinePen, new Rect(25, 25, 25, 25));
            }

            // Display the drawing using an image control.
            Image theImage = new Image();
            DrawingImage dImageSource = new DrawingImage(dGroup);
            theImage.Source = dImageSource;

            this.Content = theImage;
        }
    }
}
Imports System.Windows.Media.Animation
Imports System.Windows.Media.Effects

Namespace SDKSample

    Public Class PushEffectExample
        Inherits Page

        Public Sub New()
            Dim shapeOutlinePen As New Pen(Brushes.Black, 2)
            shapeOutlinePen.Freeze()

            ' Create a DrawingGroup
            Dim dGroup As New DrawingGroup()

            ' Obtain a DrawingContext from
            ' the DrawingGroup.
            Using dc As DrawingContext = dGroup.Open()
                ' Draw a rectangle at full opacity.
                dc.DrawRectangle(Brushes.Blue, shapeOutlinePen, New Rect(0, 0, 25, 25))

                ' Push an opacity change of 0.5.
                ' The opacity of each subsequent drawing will
                ' will be multiplied by 0.5.
                dc.PushOpacity(0.5)

                ' This rectangle is drawn at 50% opacity.
                dc.DrawRectangle(Brushes.Blue, shapeOutlinePen, New Rect(25, 25, 25, 25))
            End Using

            ' Display the drawing using an image control.
            Dim theImage As New Image()
            Dim dImageSource As New DrawingImage(dGroup)
            theImage.Source = dImageSource

            Me.Content = theImage

        End Sub

    End Class

End Namespace

Hinweise

Verwenden Sie zum DrawingContext Auffüllen eines Visual oder eines Drawing mit visuellem Inhalt.

Obwohl die DrawingContext Draw-Methoden den Draw-Methoden des System.Drawing.Graphics Typs ähneln, funktionieren sie sehr unterschiedlich: DrawingContext wird mit einem Grafiksystem im beibehaltenen Modus verwendet, während der System.Drawing.Graphics Typ mit einem Grafiksystem im unmittelbaren Modus verwendet wird. Wenn Sie die Draw-Befehle eines DrawingContext Objekts verwenden, speichern Sie tatsächlich eine Reihe von Renderinganweisungen (obwohl der genaue Speichermechanismus vom Typ des Objekts abhängt, das später DrawingContextvom Grafiksystem verwendet wird). Sie zeichnen nicht in Echtzeit auf den Bildschirm. Weitere Informationen zur Funktionsweise des Windows Presentation Foundation (WPF)-Grafiksystems finden Sie unter WPF Graphics Rendering Overview.

Sie instanziieren niemals direkt ein DrawingContext. Sie können jedoch einen Zeichnungskontext aus bestimmten Methoden erwerben, wie z. B. DrawingGroup.Open und DrawingVisual.RenderOpen.

Eigenschaften

Name Beschreibung
Dispatcher

Ruft dies Dispatcher ab, dem dies DispatcherObject zugeordnet ist.

(Geerbt von DispatcherObject)

Methoden

Name Beschreibung
CheckAccess()

Bestimmt, ob der aufrufende Thread Zugriff auf diesen DispatcherObjectThread hat.

(Geerbt von DispatcherObject)
Close()

Schließt den DrawingContext Inhalt und löscht den Inhalt. Danach kann die DrawingContext Datei nicht geändert werden.

DisposeCore()

Veröffentlicht alle ressourcen, die von der DrawingContext.

DrawDrawing(Drawing)

Zeichnet das angegebene Drawing Objekt.

DrawEllipse(Brush, Pen, Point, AnimationClock, Double, AnimationClock, Double, AnimationClock)

Zeichnet eine Ellipse mit dem angegebenen Brush Und Pen wendet die angegebenen Animationsuhren an.

DrawEllipse(Brush, Pen, Point, Double, Double)

Zeichnet eine Ellipse mit dem angegebenen Brush und Pen.

DrawGeometry(Brush, Pen, Geometry)

Zeichnet den angegebenen Wert Geometry mithilfe der angegebenen Brush und Pen.

DrawGlyphRun(Brush, GlyphRun)

Zeichnet den angegebenen Text.

DrawImage(ImageSource, Rect, AnimationClock)

Zeichnet ein Bild in den durch den angegebenen Bereich Rect definierten Bereich und wendet die angegebene Animationsuhr an.

DrawImage(ImageSource, Rect)

Zeichnet ein Bild in den durch den angegebenen Bereich Rectdefinierten Bereich.

DrawLine(Pen, Point, AnimationClock, Point, AnimationClock)

Zeichnet eine Linie zwischen den angegebenen Punkten mithilfe der angegebenen Pen Und wendet die angegebenen Animationsuhren an.

DrawLine(Pen, Point, Point)

Zeichnet eine Linie zwischen den angegebenen Punkten mithilfe der angegebenen Pen.

DrawRectangle(Brush, Pen, Rect, AnimationClock)

Zeichnet ein Rechteck mit dem angegebenen Brush Und Pen wendet die angegebenen Animationsuhren an.

DrawRectangle(Brush, Pen, Rect)

Zeichnet ein Rechteck mit dem angegebenen Brush und Pen. Der Stift und der Pinsel können sein null.

DrawRoundedRectangle(Brush, Pen, Rect, AnimationClock, Double, AnimationClock, Double, AnimationClock)

Zeichnet ein abgerundetes Rechteck mit dem angegebenen Brush Rechteck und Pen wendet die angegebenen Animationsuhren an.

DrawRoundedRectangle(Brush, Pen, Rect, Double, Double)

Zeichnet ein abgerundetes Rechteck mit dem angegebenen Brush und Pen.

DrawText(FormattedText, Point)

Zeichnet formatierten Text an der angegebenen Position.

DrawVideo(MediaPlayer, Rect, AnimationClock)

Zeichnet ein Video in den angegebenen Bereich und wendet die angegebene Animationsuhr an.

DrawVideo(MediaPlayer, Rect)

Zeichnet ein Video in den angegebenen Bereich.

Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
Pop()

Pops the last opacity mask, opacity, clip, effect, or transform operation that was pushed to the drawing context.

PushClip(Geometry)

Verschiebt den angegebenen Clipbereich auf den Zeichnungskontext.

PushEffect(BitmapEffect, BitmapEffectInput)
Veraltet.

Verschiebt das angegebene BitmapEffect Shape auf den Zeichnungskontext.

PushGuidelineSet(GuidelineSet)

Verschiebt das angegebene GuidelineSet Shape auf den Zeichnungskontext.

PushOpacity(Double, AnimationClock)

Verschiebt die angegebene Deckkrafteinstellung auf den Zeichnungskontext und wendet die angegebene Animationsuhr an.

PushOpacity(Double)

Verschiebt die angegebene Deckkrafteinstellung auf den Zeichnungskontext.

PushOpacityMask(Brush)

Verschiebt das angegebene Deckkraftformat auf den Zeichnungskontext.

PushTransform(Transform)

Verschiebt das angegebene Transform Shape auf den Zeichnungskontext.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)
VerifyAccess()

Erzwingt, dass der aufrufende Thread Zugriff auf diesen DispatcherObjectThread hat.

(Geerbt von DispatcherObject)
VerifyApiNonstructuralChange()

Dieses Mitglied unterstützt die WPF-Infrastruktur und soll nicht direkt aus Ihrem Code verwendet werden.

Explizite Schnittstellenimplementierungen

Name Beschreibung
IDisposable.Dispose()

Dieses Mitglied unterstützt die Windows Presentation Foundation (WPF)-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen.

Gilt für:

Weitere Informationen