Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

DrawingContext-Klasse

 

Veröffentlicht: Oktober 2016

Beschreibt visuellen Inhalt mithilfe der Befehle „draw“, „push“ und „pop“.

Namespace:   System.Windows.Media
Assembly:  PresentationCore (in PresentationCore.dll)

System.Object
  System.Windows.Threading.DispatcherObject
    System.Windows.Media.DrawingContext

public abstract class DrawingContext : DispatcherObject, IDisposable

NameBeschreibung
System_CAPS_pubpropertyDispatcher

Ruft die Dispatcher dies DispatcherObject zugeordnet ist.(Geerbt von „DispatcherObject“.)

NameBeschreibung
System_CAPS_pubmethodCheckAccess()

Bestimmt, ob der aufrufende Thread Zugriff auf diese DispatcherObject.(Geerbt von „DispatcherObject“.)

System_CAPS_pubmethodClose()

Schließt die DrawingContext und leert den Inhalt. Danach die DrawingContext kann nicht geändert werden.

System_CAPS_protmethodDisposeCore()

Gibt alle vom DrawingContext verwendeten Ressourcen frei.

System_CAPS_pubmethodDrawDrawing(Drawing)

Zeichnet das angegebene Drawing Objekt.

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

Zeichnet eine Ellipse mit dem angegebenen Brush und Pen und wendet die angegebene Animationsuhren.

System_CAPS_pubmethodDrawEllipse(Brush, Pen, Point, Double, Double)

Zeichnet eine Ellipse mit dem angegebenen Brush und Pen.

System_CAPS_pubmethodDrawGeometry(Brush, Pen, Geometry)

Zeichnet die angegebene Geometry unter Verwendung der angegebenen Brush- und Pen-Elemente.

System_CAPS_pubmethodDrawGlyphRun(Brush, GlyphRun)

Zeichnet den angegebenen Text.

System_CAPS_pubmethodDrawImage(ImageSource, Rect)

Zeichnet ein Bild in dem vom angegebenen definierten Bereich Rect.

System_CAPS_pubmethodDrawImage(ImageSource, Rect, AnimationClock)

Zeichnet ein Bild in dem vom angegebenen definierten Bereich Rect und wendet die angegebene Animationsuhr.

System_CAPS_pubmethodDrawLine(Pen, Point, AnimationClock, Point, AnimationClock)

Zeichnet eine verbindende Linie zwischen den angegebenen Punkten unter Verwendung des angegebenen Pen und wendet die angegebene Animationsuhren.

System_CAPS_pubmethodDrawLine(Pen, Point, Point)

Zeichnet eine verbindende Linie zwischen den angegebenen Punkten unter Verwendung des angegebenen Pen.

System_CAPS_pubmethodDrawRectangle(Brush, Pen, Rect)

Zeichnet ein Rechteck mit dem angegebenen Brush und Pen. Der Stift und der Pinsel kann null.

System_CAPS_pubmethodDrawRectangle(Brush, Pen, Rect, AnimationClock)

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

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

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

System_CAPS_pubmethodDrawRoundedRectangle(Brush, Pen, Rect, Double, Double)

Zeichnet ein abgerundetes Rechteck mit dem angegebenen Brush und Pen.

System_CAPS_pubmethodDrawText(FormattedText, Point)

Zeichnet formatierten Text an der angegebenen Position.

System_CAPS_pubmethodDrawVideo(MediaPlayer, Rect)

Zeichnet ein Video im angegebenen Bereich.

System_CAPS_pubmethodDrawVideo(MediaPlayer, Rect, AnimationClock)

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

System_CAPS_pubmethodEquals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.(Geerbt von „Object“.)

System_CAPS_protmethodFinalize()

Gibt einem Objekt Gelegenheit, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Geerbt von „Object“.)

System_CAPS_pubmethodGetHashCode()

Fungiert als die Standardhashfunktion.(Geerbt von „Object“.)

System_CAPS_pubmethodGetType()

Ruft den Type der aktuellen Instanz ab.(Geerbt von „Object“.)

System_CAPS_protmethodMemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.(Geerbt von „Object“.)

System_CAPS_pubmethodPop()

Holt den letzten Deckkraftmaske, Durchlässigkeit, Clip, Effekt oder Transformation, die auf den zeichenkontext abgelegt wurde.

System_CAPS_pubmethodPushClip(Geometry)

Legt den angegebenen Ausschneidebereich im Zeichnungskontext ab.

System_CAPS_pubmethodPushEffect(BitmapEffect, BitmapEffectInput)

Veraltet. Legt das angegebene BitmapEffect auf zeichenkontext.

System_CAPS_pubmethodPushGuidelineSet(GuidelineSet)

Legt das angegebene GuidelineSet auf zeichenkontext.

System_CAPS_pubmethodPushOpacity(Double)

Legt die Einstellung für die angegebene Deckkraft Zeichnungskontext ab.

System_CAPS_pubmethodPushOpacity(Double, AnimationClock)

Legt die Einstellung für die angegebene Deckkraft Zeichnungskontext und wendet die angegebene Animationsuhr an.

System_CAPS_pubmethodPushOpacityMask(Brush)

Legt die angegebenen Deckkraftmaske Zeichnungskontext ab.

System_CAPS_pubmethodPushTransform(Transform)

Legt das angegebene Transform auf zeichenkontext.

System_CAPS_pubmethodToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.(Geerbt von „Object“.)

System_CAPS_pubmethodVerifyAccess()

Erzwingt, dass der aufrufende Thread den Zugriff auf diese kann DispatcherObject.(Geerbt von „DispatcherObject“.)

System_CAPS_protmethodVerifyApiNonstructuralChange()

Dieser Member unterstützt die WPF-Infrastruktur und ist nicht für die direkte Verwendung im Code vorgesehen. 

NameBeschreibung
System_CAPS_pubinterfaceSystem_CAPS_privmethodIDisposable.Dispose()

Dieser Member unterstützt die Windows Presentation Foundation (WPF)-Infrastruktur und ist nicht für die direkte Verwendung im Code vorgesehen.

Use a T:System.Windows.Media.DrawingContext to populate a T:System.Windows.Media.Visual or a T:System.Windows.Media.Drawing with visual content.

Although the T:System.Windows.Media.DrawingContext draw methods appear similar to the draw methods of the T:System.Drawing.Graphics type, they function very differently: T:System.Windows.Media.DrawingContext is used with a retained mode graphics system, while the T:System.Drawing.Graphics type is used with an immediate mode graphics system. When you use a T:System.Windows.Media.DrawingContext object's draw commands, you are actually storing a set of rendering instructions (although the exact storage mechanism depends on the type of object that supplies the T:System.Windows.Media.DrawingContext) that will later be used by the graphics system; you are not drawing to the screen in real-time. For more information about how the TLA#tla_wpf graphics system works, see WPF Graphics Rendering Overview.

You never directly instantiate a T:System.Windows.Media.DrawingContext; you can, however, acquire a drawing context from certain methods, such as M:System.Windows.Media.DrawingGroup.Open and M:System.Windows.Media.DrawingVisual.RenderOpen.

The following example retrieves a T:System.Windows.Media.DrawingContext from a T:System.Windows.Media.DrawingVisual and uses it to draw a rectangle.

// 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;
}

The next example demonstrates the M:System.Windows.Media.DrawingContext.PushOpacity(System.Double), M:System.Windows.Media.DrawingContext.PushEffect(System.Windows.Media.Effects.BitmapEffect,System.Windows.Media.Effects.BitmapEffectInput), and M:System.Windows.Media.DrawingContext.Pop commands. The T:System.Windows.Media.DrawingContext is obtained from a T:System.Windows.Media.DrawingGroup and displayed using an T:System.Windows.Controls.Image control.

using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Navigation;
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));

                // Blurs subsquent drawings. 
                dc.PushEffect(new BlurBitmapEffect(), null);

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

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

                // Stop applying the blur to subsquent drawings.
                dc.Pop();

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

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

            this.Content = theImage;

        }




    }

}

.NET Framework
Verfügbar seit 3.0

Alle öffentlichen statischen Member ( Shared in Visual Basic) dieses Typs sind threadsicher. Die Threadsicherheit für Instanzmember ist nicht garantiert.

Zurück zum Anfang
Anzeigen: