朝阳市网站制作,上上海网站设计建设,手机网站商城建设答辩问题,建e网室内设计网模型楼梯DrawingContext比较类似WinForm中的Graphics 类#xff0c;是基础的绘图对象#xff0c;用于绘制各种图形#xff0c;它主要API有如下几种#xff1a; 绘图API 绘图API一般形为DrawingXXX系列#xff0c;常用的基础的绘图API有#xff1a; DrawEllipseDrawGeometryDrawG… DrawingContext比较类似WinForm中的Graphics 类是基础的绘图对象用于绘制各种图形它主要API有如下几种 绘图API 绘图API一般形为DrawingXXX系列常用的基础的绘图API有 DrawEllipseDrawGeometryDrawGlyphRunDrawImageDrawRectangleDrawRoundedRectangle这些和GDI的API是非常相似的WPF的API中另外还都有一个带动画的版本不过一般很少用。 另外还有两个相对用的较少的API DrawDrawingDrawVideo其中DrawDrawing还是一个比较强大的API常用的Drawing对象有GeometryDrawingImageDrawing VideoDrawing详细内容可参考MSDN文章Drawing 对象概述熟悉了它们的用法后还是非常有用的。 附加效果API 附加效果API一般形为PushXXX系列它们分别是 PushTransform //变换PushClip //裁剪PushEffect //位图效果PushOpacity //不透明度PushOpacityMask //不透明遮罩另外一个可用于设备像素对其的添加参考线APIPushGuidelineSet其具体用法可参考WPF基于物理像素的图形绘制这篇文章。 PS我这里的链接是附的MSDN上关于Drawing的介绍并不是DrawingContext的API说明但概念类似可以直接参考。 需要注意的是附加效果是对后面的所有操作都生效的调用多次的话效果会叠加如果要清除掉效果可以调用Pop函数连续清除多个效果需要连续调用Pop函数 使用DrawingContext绘图 使用DrawingContext绘图的一个最简单的方式是重载控件的OnRender方法它就带一个DrawingContext参数和WinForm中重载OnPaint方法比较类似。 protected override void OnRender(DrawingContext drawingContext) { var pen new Pen(Brushes.Black, 1); Rect rect new Rect(20, 20, 30, 60); drawingContext.DrawRectangle(null, pen, rect); } 另外还可以使用更加灵活的DrawingVisualDrawingGroup等对象创建DrawingContext绘图在后面再用单独的文章介绍。 最后值得一提的是虽然DrawingContext和System.Drawing.Graphics 类非常相似但它们的功能却大相径庭DrawingContext 用于保留模式图形系统而 System.Drawing.Graphics 类型则用于即时模式图形系统。 使用DrawingContext 对象的绘图命令时实际上是在存储一系列呈现指令但具体的存储机制则取决于提供 DrawingContext 的对象的类型以供图形系统在以后使用而不是实时绘制到屏幕上。 转载于:https://www.cnblogs.com/TianFang/p/5187568.html