首页 > Windows开发 > 详细

WPF中InkCanvas(墨水面板)用法

时间:2019-04-04 00:22:17      阅读:203      评论:0      收藏:0      [点我收藏+]
原文:WPF中InkCanvas(墨水面板)用法

                         WPF中InkCanvas(墨水面板)用法
                                                    周银辉


感谢Sacha Barber 为我们提供如此Cool的Demo
你可以在这里下载到它 http://files.cnblogs.com/zhouyinhui/InkCanvas.rar

技术分享图片

下面是InkCanvas的常见用法(假设我们的InkCanvas对象为inkCanv):



保存

你可以选择将墨迹保存为墨迹文件或者保存为图片

保存为墨迹文件(*.isf):
技术分享图片this.inkCanv.Strokes.Save(file);
其中file为要保存到的文件流(FileStream)

保存为图片:
我们可以先将墨迹绘制到图片上再将图片保存,其中要将Visual对象绘制到图片上可以使用RenderTargetBitmap类,并采用其Render()方法.要将图片保存可以使用BitmapEncoder类,并调用其Save()方法.
技术分享图片 RenderTargetBitmap rtb = new RenderTargetBitmap(width,height00, PixelFormats.Default);
技术分享图片 rtb.Render(
this.inkCanv);
技术分享图片 BmpBitmapEncoder encoder 
= new BmpBitmapEncoder();
技术分享图片encoder.Frames.Add(BitmapFrame.Create(rtb));
技术分享图片  encoder.Save(file);



打开

要打开已保存的墨迹文件(*.isf),可以使用下面的方法:
技术分享图片this.inkCanv.Strokes = new StrokeCollection(file);



选定

向画图板一样,你可以选定绘制的某些元素,选定有两种方式,一是用户使用鼠标进行选定,另一种是程序使用代码选择指定的墨迹.

使用鼠标选定
很简单地,你只需要切换InkCanvas的编辑模式就可以了.InkCanvas的EditingMode属性是InkCanvasEditingMode枚举类型,你可以将其值切换为InkCanvasEditingMode.Select以便进入选定模式.

使用代码选定
你可以调用InkCanvas的Select()方法


复制、剪切、粘贴或删除选定的对象

这几个操作都比较简单,InkCanvas有对应的方法,分别是CopySelection(),CutSelection(),Past()与Remove().


橡皮擦

要使用橡皮擦,与切换选定模式一样,同样是切换InkCanvas的EditingMode属性,擦除方式有两种,分别是InkCanvasEditingMode.EraseByPoint(按点擦除)与InkCanvasEditingMode.EraseByStroke(按墨迹笔画擦除,一次擦掉不间断的一笔).


笔迹颜色、粗细...

要更改笔迹的相关属性,可以设置InkCanvas的DefaultDrawingAttributes属性,比如:
技术分享图片            DrawingAttributes inkDA = new DrawingAttributes();
技术分享图片            inkDA.Width 
= 5;
技术分享图片            inkDA.Height 
=5;
技术分享图片            inkDA.Color 
= Color.FormArgb(255,255,255,255);
技术分享图片            
this.inkCanv.DefaultDrawingAttributes = inkDA;

InkCanvas还有很多有趣的功能,你可以参考SDK中的InkCanvas类以获得更多.

WPF中InkCanvas(墨水面板)用法

原文:https://www.cnblogs.com/lonelyxmas/p/10652534.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!