DrawingContext Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menjelaskan konten visual menggunakan perintah gambar, dorong, dan pop.
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
- Warisan
- Penerapan
Contoh
Contoh berikut mengambil DrawingContext dari DrawingVisual dan menggunakannya untuk menggambar persegi panjang.
// 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
Contoh berikutnya menunjukkan PushOpacity perintah . diperoleh DrawingContext dari DrawingGroup dan ditampilkan menggunakan Image kontrol.
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
Keterangan
DrawingContext Gunakan untuk mengisi Visual atau Drawing dengan konten visual.
DrawingContext Meskipun metode gambar tampak mirip dengan metode gambar dari jenisnyaSystem.Drawing.Graphics, metode tersebut berfungsi sangat berbeda: DrawingContext digunakan dengan sistem grafis mode yang dipertahankan, sementara System.Drawing.Graphics jenisnya digunakan dengan sistem grafis mode langsung. Ketika Anda menggunakan DrawingContext perintah gambar objek, Anda benar-benar menyimpan serangkaian instruksi penyajian (meskipun mekanisme penyimpanan yang tepat tergantung pada jenis objek yang memasok DrawingContext) yang nantinya akan digunakan oleh sistem grafis; Anda tidak menggambar ke layar secara real time. Untuk informasi selengkapnya tentang cara kerja sistem grafis Windows Presentation Foundation (WPF), lihat Gambaran Umum Penyajian Grafis WPF.
Anda tidak pernah langsung membuat instans DrawingContext; namun demikian, Anda dapat memperoleh konteks gambar dari metode-metode tertentu, seperti DrawingGroup.Open dan DrawingVisual.RenderOpen.
Properti
| Nama | Deskripsi |
|---|---|
| Dispatcher |
Dispatcher Mendapatkan ini DispatcherObject dikaitkan dengan. (Diperoleh dari DispatcherObject) |
Metode
| Nama | Deskripsi |
|---|---|
| CheckAccess() |
Menentukan apakah utas panggilan memiliki akses ke ini DispatcherObject. (Diperoleh dari DispatcherObject) |
| Close() |
DrawingContext Menutup dan menghapus konten. Setelah itu, DrawingContext tidak dapat dimodifikasi. |
| DisposeCore() |
Merilis semua sumber daya yang DrawingContextdigunakan oleh . |
| DrawDrawing(Drawing) |
Menggambar objek yang ditentukan Drawing . |
| DrawEllipse(Brush, Pen, Point, AnimationClock, Double, AnimationClock, Double, AnimationClock) |
Menggambar elips dengan jam animasi yang ditentukan Brush dan Pen dan menerapkan jam animasi yang ditentukan. |
| DrawEllipse(Brush, Pen, Point, Double, Double) | |
| DrawGeometry(Brush, Pen, Geometry) |
Menggambar yang ditentukan Geometry menggunakan yang ditentukan Brush dan Pen. |
| DrawGlyphRun(Brush, GlyphRun) |
Menggambar teks yang ditentukan. |
| DrawImage(ImageSource, Rect, AnimationClock) |
Menggambar gambar ke wilayah yang ditentukan oleh jam animasi yang ditentukan Rect dan menerapkan jam animasi yang ditentukan. |
| DrawImage(ImageSource, Rect) |
Menggambar gambar ke wilayah yang ditentukan oleh Rect. |
| DrawLine(Pen, Point, AnimationClock, Point, AnimationClock) |
Menggambar garis di antara titik yang ditentukan menggunakan jam animasi yang ditentukan Pen dan menerapkan jam animasi yang ditentukan. |
| DrawLine(Pen, Point, Point) |
Menggambar garis di antara titik yang ditentukan menggunakan Pen. |
| DrawRectangle(Brush, Pen, Rect, AnimationClock) |
Menggambar persegi panjang dengan jam animasi yang ditentukan Brush dan Pen dan menerapkan jam animasi yang ditentukan. |
| DrawRectangle(Brush, Pen, Rect) |
Menggambar persegi panjang dengan yang ditentukan Brush dan Pen. Pena dan kuasnya bisa . |
| DrawRoundedRectangle(Brush, Pen, Rect, AnimationClock, Double, AnimationClock, Double, AnimationClock) |
Menggambar persegi panjang bulat dengan yang ditentukan Brush dan Pen dan menerapkan jam animasi yang ditentukan. |
| DrawRoundedRectangle(Brush, Pen, Rect, Double, Double) |
Menggambar persegi panjang bulat dengan yang ditentukan Brush dan Pen. |
| DrawText(FormattedText, Point) |
Gambar teks yang diformat pada lokasi yang ditentukan. |
| DrawVideo(MediaPlayer, Rect, AnimationClock) |
Menggambar video ke wilayah yang ditentukan dan menerapkan jam animasi yang ditentukan. |
| DrawVideo(MediaPlayer, Rect) |
Menggambar video ke wilayah yang ditentukan. |
| Equals(Object) |
Menentukan apakah objek yang ditentukan sama dengan objek saat ini. (Diperoleh dari Object) |
| GetHashCode() |
Berfungsi sebagai fungsi hash default. (Diperoleh dari Object) |
| GetType() |
Mendapatkan Type instans saat ini. (Diperoleh dari Object) |
| MemberwiseClone() |
Membuat salinan dangkal dari Objectsaat ini. (Diperoleh dari Object) |
| Pop() |
Memunculkan operasi masker opasitas, opasitas, klip, efek, atau transformasi terakhir yang didorong ke konteks gambar. |
| PushClip(Geometry) |
Mendorong wilayah klip yang ditentukan ke konteks gambar. |
| PushEffect(BitmapEffect, BitmapEffectInput) |
Kedaluwarsa.
Mendorong yang ditentukan BitmapEffect ke konteks gambar. |
| PushGuidelineSet(GuidelineSet) |
Mendorong yang ditentukan GuidelineSet ke konteks gambar. |
| PushOpacity(Double, AnimationClock) |
Mendorong pengaturan opasitas yang ditentukan ke konteks gambar dan menerapkan jam animasi yang ditentukan. |
| PushOpacity(Double) |
Mendorong pengaturan opasitas yang ditentukan ke konteks gambar. |
| PushOpacityMask(Brush) |
Mendorong masker opasitas yang ditentukan ke konteks gambar. |
| PushTransform(Transform) |
Mendorong yang ditentukan Transform ke konteks gambar. |
| ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |
| VerifyAccess() |
Memberlakukan bahwa utas panggilan memiliki akses ke ini DispatcherObject. (Diperoleh dari DispatcherObject) |
| VerifyApiNonstructuralChange() |
Anggota ini mendukung infrastruktur WPF dan tidak dimaksudkan untuk digunakan langsung dari kode Anda. |
Implementasi Antarmuka Eksplisit
| Nama | Deskripsi |
|---|---|
| IDisposable.Dispose() |
Anggota ini mendukung infrastruktur Windows Presentation Foundation (WPF) dan tidak dimaksudkan untuk digunakan langsung dari kode Anda. |