Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Classe DrawingContext

 

Data di pubblicazione: ottobre 2016

Descrive il contenuto visivo usando i comandi draw, push e pop.

Spazio dei nomi:   System.Windows.Media
Assembly:  PresentationCore (in PresentationCore.dll)


public abstract class DrawingContext : DispatcherObject, IDisposable

NomeDescrizione
System_CAPS_pubpropertyDispatcher

Ottiene il Dispatcher questo DispatcherObject è associato.(Ereditato da DispatcherObject.)

NomeDescrizione
System_CAPS_pubmethodCheckAccess()

Determina se il thread chiamante ha accesso a questo DispatcherObject.(Ereditato da DispatcherObject.)

System_CAPS_pubmethodClose()

Chiude il DrawingContext e scarica il contenuto. In seguito, il DrawingContext non può essere modificato.

System_CAPS_protmethodDisposeCore()

Rilascia tutte le risorse usate dall'oggetto DrawingContext.

System_CAPS_pubmethodDrawDrawing(Drawing)

Disegna l'oggetto Drawing oggetto.

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

Disegna un'ellisse con l'oggetto specificato Brush e Pen e applica gli orologi di animazione specificato.

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

Disegna un'ellisse con l'oggetto specificato Brush e Pen.

System_CAPS_pubmethodDrawGeometry(Brush, Pen, Geometry)

Disegna l'oggetto Geometry usando gli oggetti Brush e Pen specificati.

System_CAPS_pubmethodDrawGlyphRun(Brush, GlyphRun)

Disegna il testo specificato.

System_CAPS_pubmethodDrawImage(ImageSource, Rect)

Disegna un'immagine nell'area definita dall'oggetto Rect.

System_CAPS_pubmethodDrawImage(ImageSource, Rect, AnimationClock)

Disegna un'immagine nell'area definita dall'oggetto Rect e applica il clock di animazione specificato.

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

Disegna una linea tra i punti specificati utilizzando l'oggetto specificato Pen e applica gli orologi di animazione specificato.

System_CAPS_pubmethodDrawLine(Pen, Point, Point)

Disegna una linea tra i punti specificati utilizzando l'oggetto specificato Pen.

System_CAPS_pubmethodDrawRectangle(Brush, Pen, Rect)

Disegna un rettangolo con gli Brush e Pen. La penna e il pennello possono essere null.

System_CAPS_pubmethodDrawRectangle(Brush, Pen, Rect, AnimationClock)

Disegna un rettangolo con gli Brush e Pen e applica gli orologi di animazione specificato.

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

Disegna un rettangolo arrotondato con l'oggetto specificato Brush e Pen e applica gli orologi di animazione specificato.

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

Disegna un rettangolo arrotondato con l'oggetto specificato Brush e Pen.

System_CAPS_pubmethodDrawText(FormattedText, Point)

Disegna il testo formattato nella posizione specificata.

System_CAPS_pubmethodDrawVideo(MediaPlayer, Rect)

Crea un video nell'area specificata.

System_CAPS_pubmethodDrawVideo(MediaPlayer, Rect, AnimationClock)

Crea un video nell'area specificata e applica il clock di animazione specificato.

System_CAPS_pubmethodEquals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.(Ereditato da Object.)

System_CAPS_protmethodFinalize()

Consente a un oggetto di effettuare un tentativo di liberare risorse ed eseguire altre operazioni di pulizia prima che venga recuperato da Garbage Collection.(Ereditato da Object.)

System_CAPS_pubmethodGetHashCode()

Funge da funzione hash predefinita.(Ereditato da Object.)

System_CAPS_pubmethodGetType()

Ottiene l'oggetto Type dell'istanza corrente.(Ereditato da Object.)

System_CAPS_protmethodMemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.(Ereditato da Object.)

System_CAPS_pubmethodPop()

Viene visualizzata l'ultima maschera di opacità, opacità, clip, effetti o l'operazione di trasformazione che è stato inserito nel contesto del disegno.

System_CAPS_pubmethodPushClip(Geometry)

Inserisce l'area di ritaglio specificato nel contesto del disegno.

System_CAPS_pubmethodPushEffect(BitmapEffect, BitmapEffectInput)

Obsoleto. Inserisce l'oggetto specificato BitmapEffect nel contesto del disegno.

System_CAPS_pubmethodPushGuidelineSet(GuidelineSet)

Inserisce l'oggetto specificato GuidelineSet nel contesto del disegno.

System_CAPS_pubmethodPushOpacity(Double)

Inserisce l'impostazione di opacità specificata nel contesto del disegno.

System_CAPS_pubmethodPushOpacity(Double, AnimationClock)

Inserisce l'impostazione di opacità specificata nel contesto del disegno e applica il clock di animazione specificato.

System_CAPS_pubmethodPushOpacityMask(Brush)

Inserisce la maschera di opacità specificata nel contesto del disegno.

System_CAPS_pubmethodPushTransform(Transform)

Inserisce l'oggetto specificato Transform nel contesto del disegno.

System_CAPS_pubmethodToString()

Restituisce una stringa che rappresenta l'oggetto corrente.(Ereditato da Object.)

System_CAPS_pubmethodVerifyAccess()

Impone che il thread chiamante abbia accesso a questo DispatcherObject.(Ereditato da DispatcherObject.)

System_CAPS_protmethodVerifyApiNonstructuralChange()

Questo membro supporta l'infrastruttura di WPF e non deve essere usato direttamente dal codice. 

NomeDescrizione
System_CAPS_pubinterfaceSystem_CAPS_privmethodIDisposable.Dispose()

Questo membro supporta l'infrastruttura di Windows Presentation Foundation (WPF) e non deve essere usato direttamente dal codice.

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
Disponibile da 3.0

I membri statici pubblici ( Condiviso in Visual Basic) di questo tipo è thread safe. Non tutti i membri di istanza sono garantiti come thread safe.

Torna all'inizio
Mostra: