InkCanvas

说明:本例简单展示了InkCanvas的使用,并详细列出了InkCanvasEditingMode的枚举值。

 <Grid>
<InkCanvas Name="inkCanvas" Background="Ivory">
<InkCanvas.DefaultDrawingAttributes>
<Ink:DrawingAttributes xmlns:ink="system-windows-ink" Color="Red" Width="5" />
</InkCanvas.DefaultDrawingAttributes>
</InkCanvas>

<!-- This stack panel of buttons is a sibling to InkCanvas (not a child) but overlapping it,
higher in z-order, so that ink is collected and rendered behind
-->
<StackPanel Name="buttonBar" VerticalAlignment="Top" Height="26" Orientation="Horizontal" Margin="5">
<Button Click="Ink">Ink</Button>
<Button Click="Highlight">Highlight</Button>
<Button Click="EraseStroke">EraseStroke</Button>
<Button Click="Select">Select</Button>
</StackPanel>
</Grid>

 

 1  // Set the EditingMode to ink input.
2 private void Ink(object sender, RoutedEventArgs e)
3 {
4 //InkCanvas.EditingMode,获取或设置活动指针设备使用的用户编辑模式。这是一个依赖项属性。
5
6 inkCanvas.EditingMode = InkCanvasEditingMode.Ink;
7
8 // Set the DefaultDrawingAttributes for a red pen.
9 inkCanvas.DefaultDrawingAttributes.Color = Colors.Red;
10 inkCanvas.DefaultDrawingAttributes.IsHighlighter = false;
11 inkCanvas.DefaultDrawingAttributes.Height = 2;
12 }
13
14 // Set the EditingMode to highlighter input.
15 private void Highlight(object sender, RoutedEventArgs e)
16 {
17 inkCanvas.EditingMode = InkCanvasEditingMode.Ink;
18
19 // Set the DefaultDrawingAttributes for a highlighter pen.
20 inkCanvas.DefaultDrawingAttributes.Color = Colors.Yellow;
21 inkCanvas.DefaultDrawingAttributes.IsHighlighter = true;
22 inkCanvas.DefaultDrawingAttributes.Height = 25;
23 }
24
25 // Set the EditingMode to erase by stroke.
26 private void EraseStroke(object sender, RoutedEventArgs e)
27 {
28 inkCanvas.EditingMode = InkCanvasEditingMode.EraseByStroke;
29 }
30
31 // Set the EditingMode to selection.
32 private void Select(object sender, RoutedEventArgs e)
33 {
34
35 inkCanvas.EditingMode = InkCanvasEditingMode.Select;
36 }
37
38 #region InkCanvasEditingMode的枚举值
39
40 // 指示当笔向 System.Windows.Controls.InkCanvas 发送数据时不执行任何操作。
41 //None = 0,
42
43
44 // 指示当笔向 System.Windows.Controls.InkCanvas 发送数据时,在其上显示墨迹。
45 //Ink = 1,
46
47 // 指示 System.Windows.Controls.InkCanvas 对笔势做出响应,但不接收墨迹。
48 // GestureOnly = 2,
49
50 // 指示 System.Windows.Controls.InkCanvas 对笔势做出响应并接收墨迹。
51 // InkAndGesture = 3,
52
53 // 指示笔在 System.Windows.Controls.InkCanvas 上选择笔画和元素。
54 //Select = 4,
55
56 // 指示当笔和笔画相交时将擦除部分笔画。
57 //EraseByPoint = 5,
58
59 // 指示当笔和笔画相交时将擦除整个笔画。
60 //EraseByStroke = 6,
61 #endregion



转载于:https://www.cnblogs.com/January/archive/2012/04/06/2434244.html

InkCanvas是一个Windows Presentation Foundation (WPF)控件,用于在任何WPF应用程序中实现涂鸦和手写输入的功能。它为用户提供了在应用程序中自由绘制、撰写和批注的能力。InkCanvas的主要特点和功能如下: 1. 绘画和撰写功能:InkCanvas提供了一个画布,用户可以使用鼠标、触摸屏、数位板等输入设备进行自由绘画和撰写。它支持不同的画笔样式、颜色和粗细,使用户能够以可定制的方式进行绘画和撰写。 2. 手写输入和识别:通过InkCanvas,用户可以使用触摸屏或数位板进行手写输入。它支持手写的识别和转换,可以将手写的文字转换为可编辑的文本,并提供了一些内置的手写识别功能,如识别基本形状、数学表达式等。 3. 历史记录和回放:InkCanvas可以记录用户的绘画和撰写过程,保存每个笔画的信息,包括位置、时间、颜色等。用户可以使用回放功能重新播放整个绘画过程,以便研究和学习。 4. 多媒体和集成:InkCanvas可以与其他WPF控件和功能进行集成,如图像、文本框、按钮等。用户可以在InkCanvas上绘制图形、写字或进行标记,并将其与应用程序的其他内容结合起来。 5. 扩展性和定制:InkCanvas具有高度的扩展性,允许开发者根据自己的需求进行定制。开发者可以自定义绘画和撰写工具,添加额外的手写识别功能,或者与其他外部设备进行集成。 总结来说,InkCanvas是一个强大的WPF控件,提供了丰富的绘画、撰写和手写输入功能。它可以广泛应用于各种应用程序中,如教育、艺术创作、笔记和批注、图形设计等领域,为用户提供了一种直观、自由和创造性的输入方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值