#233 – DrawingVisual类的一个例子

2016-08-30 19:13:03来源:CSDN作者:Libby1984人点击

当需要一个低级别的控件来绘制若干2D图形的时候,你可以通过自定义一个继承自DrawingVisual 的类来实现。

下面的一个例子是通过一个继承自DrawingVisual 的类来显示两个图形的简单实现。

class EllipseAndRectangle : DrawingVisual{    public EllipseAndRectangle()    {        using (DrawingContext dc = RenderOpen())        {            // Black ellipse with blue border            dc.DrawEllipse(Brushes.Black,                new Pen(Brushes.Blue, 3),        // Border                new Point(120, 120), 20, 40);    // Center & radius             // Red rectangle with green border            dc.DrawRectangle(Brushes.Red,                new Pen(Brushes.Green, 4),       // Border                new Rect(new Point(10, 10), new Point(80, 80)));    // Corners        }    }}

RenderOpen 方法运行我们渲染一些内容到DrawingVisual 里面(打开用于呈现的 DrawingVisual 对象),RenderOpen 返回一个DrawingContext实例,用来绘制图形。

DrawingContext 会将所有绘制的指令缓存,因此我们只需要在构造函数中关注我们的绘制指令(译者:这一句具体要表达什么?)。

原文地址:https://wpf.2000things.com/2011/03/02/233-an-example-of-deriving-from-drawingvisual-class/



最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台