#233 – DrawingVisual类的一个例子
来源:互联网 发布:php 那个版本速度快 编辑:程序博客网 时间:2024/06/15 06:39
当需要一个低级别的控件来绘制若干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/
0 0
- #233 – DrawingVisual类的一个例子
- #232 – DrawingVisual类(The DrawingVisual Class)
- DrawingVisual绘图
- #234 – 在窗体上显示DrawingVisual 实例(Getting a DrawingVisual Object Rendered in a Window)
- Cursor类的一个例子
- 一个类的继承例子
- HTML5 – 一个访问本地文件的例子
- 一个类数据类型的STL例子
- Canlendar类使用的一个简单例子
- Canlendar类使用的一个简单例子
- 一个结构继承类的例子
- 一个重写Page基类的例子
- 一个MD5加密类的例子
- C++ 类继承的一个例子
- 类继承一个简单的例子
- 一个类和结构的例子
- 一个简单的javascript类定义例子
- 一个自定制异常类的例子
- 前端工程化架构实践--多页面
- 属性动画ValueAnimator在自定义View中的使用
- First Steps to Scala
- 在github里创建一个新项目,并且在intellj idea中使用github来做版本控制
- 使用 Python 创建你自己的 Shell(下)
- #233 – DrawingVisual类的一个例子
- 387.First Unique Character in a String
- 如何等一个线程执行完执行另外一个线程,借助FutureTask类
- Linux下CodeBlocks远程调试ARM程序环境搭建
- mysql 行转列
- perf4j
- Inno setup 常用修改技巧
- C++中重定义、重写、重载的区别以及隐藏与覆盖的访问
- Android——Dagger2依赖注入框架