赞
踩
首先来简单介绍一下什么是 InkCanvas 。顾名思义, InkCanvas 和 Canvas 有一定的联系,都是一种画布,我们可以在上面绘制我们的图形等等。
那么 InkCanvas 和 Canvas 有什么区别呢?那就是 InkCanvas 集成了一些很方便的功能,使我们不必再用代码去实现那些功能,下面将结合实例讲解如何使用这些功能。
现在先来创建一个 WPF 应用程序,然后创建一个 InkCanvas 标签。
运行程序并且按住鼠标左键即可自右绘制墨迹。
InkCanvas 提供的最基本的功能是自由笔,我们这里称显示出来的图形为墨迹,而绘制出来的墨迹实际上是 Stroke 类型,所以我们可以用 Stroke 类型的 DrawingAttributes 属性进行墨迹的一些设置,例如颜色,粗细等等。
那么既然如此,我们就先来改变一下墨迹的颜色,将前面的 XAML 文件对应的后置代码文件的内容修改为如下所示:
再次运行程序,会发现墨迹颜色变成了红色。
接下来我们同样是通过 DrawingAttributes 对象来改变墨迹的各项设置,在上面的代码后面添加如下代码:
继续运行程序。
InkCanvas 还提供了平滑处理功能。
InkCanvas 还有两个属性,一个是 IsHeighlighter ,另一个是 IgnorePressure ,这两个属性都是布尔值,前者是判断墨迹是否有荧光笔效果,后者是判断墨迹的粗细是否随压力的增大而增大。
前面介绍了 InkCanvas 墨迹的一些属性,但是 InkCanvas 的强大远远不止这些,它还有几个非常好用的功能。请看如下代码:
将主页面 XAML 代码修改如上面,并在原来的后置 .cs 文件的构造函数之后添加如下方法:
InkCanvas 的EditingMode 属性还有其他几个值,但是基本的就是这几个了,详细信息请参看 MSDN 。运行程序,并选择相应功能,即可看到效果。
利用 InkCanvas 不仅可以完成 Canvas 的功能,还可以非常方便地使用其他一些操作,对于绘图类功能开发来说非常好用。
另外有一点需要注意,在 InkCanvas 上绘制的 Stroke 墨迹并不是 InkCanvas 对象 Children 集合类型属性里的元素,所有用该属性的 Clear() 方法是不能清除已绘制上去的墨迹的。
本文就到此结束了,希望大家多多批评指正,谢谢!
(原文:http://www.cnblogs.com/lizhenlin/p/5917769.html)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。