问题标签 [inkcanvas]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1429 浏览

c# - 通过程序从矩形内的inkcanvas中选择笔画

我有一个带有笔画的 InkCanvas。我希望只使用落在给定区域内的笔画或部分笔画。简而言之,我希望剪辑该区域之外的任何墨水。我不知道如何正确投射:

0 投票
1 回答
522 浏览

c# - 对 InkCanvas 的孩子进行命中测试

我通过代码隐藏向 InkCanvas 添加了一个按钮。由于我无法理解的原因,

其中按钮的索引为 2,当我点击按钮时,结果总是为空。

有人知道如何确定是否单击了子元素吗?

任何帮助将不胜感激。(是的,我已经搜索了互联网但没有成功。如果这似乎是一个愚蠢的问题,我深表歉意)。

系统:Windows 7,.net4.0 WPF C#

编辑:如果我在 Children[0] 是 RichTextBox 的情况下做同样的事情,那么上面的 HitTest 返回非空值。有人知道为什么吗?

编辑: RichTextBox 和 Button 都在代码隐藏中添加,XAML 是:

0 投票
2 回答
707 浏览

windows-runtime - Windows 应用商店应用程序不支持 WPF

我正在开发一个可以使用鼠标或手写笔通过触摸屏进行输入的应用程序。发现这<InkCanvas>对我来说非常有用,但 Windows Store 应用程序项目不识别/支持<InkCanvas>标签。

有没有遇到过类似的需求和场景。任何建议。

当然,其中之一是,但它不如灵活<InkCanvas>

0 投票
0 回答
330 浏览

wpf - WPF InkCanvas 将文本转换为 StrokesCollection

一段时间以来,我一直在研究我的第一个 WPF 绘画应用程序。话虽如此,我将所有绘制的对象合并到多个 Stroke 集合中,这样每个对象都可以使用默认的 InkCanvas 绘制模式( InkCanvasEditingMode.Ink InkCanvas.EraseByPoint, InkCanvas.EraseByStroke )轻松编辑。现在,我需要帮助将类型文本(即 TextBox、TextBlock)转换为 StrokeCollections。应用程序应允许键入和擦除文本,就像 Microsoft Paint 版本 (6.2)。如果可能的话,尽量避免重新发明轮子。

我阅读了一些带有这些建议的文章:

1) 将字符分解为单独的元素并将每个元素重新绘制为笔画集合

2)裁剪一个区域并将该区域转换为位图,最后转换为描边集合

除了这两个建议之外,还有其他选择吗?任何帮助将不胜感激。

最好的问候,迈克尔

0 投票
0 回答
109 浏览

wpf - 如何在画布中捕获笔画的时间戳

我正在通过 InkManager 尝试捕获每个笔划的时间戳。有谁知道我该怎么做。每次生成笔画时制作列表并更新它的最低效的方法,但我相信还有另一种有效的方法可以做到这一点..

0 投票
2 回答
655 浏览

wpf - 如何在视图模型中接收 InkCanvas.StrokeCollected 事件

在使用 MVVM 模式时,我有一个自定义的 inkcanvas:

如何让视图模型接收 InkCanvas.StrokeCollected 事件?

我无法将 XAML 绑定到笔划,因为自定义 inkcanvas 将调用 StrokeCollection.CollectionChanged 事件 3 次。

任何帮助表示赞赏。

0 投票
1 回答
1117 浏览

wpf - 在 InkCanvas 上逐点擦除时如何获得结果笔画?

我不明白。假设我在 InkCanvas 上画了一个“S”。

OnStrokeCollected 事件将触发。在 OnStrokeCollected 事件中,我将笔画发送到 InkAnalyzer:

现在我逐点擦除“S”的中心点。

OnStrokeErasing 事件触发。现在我可以从 InkAnalzyer 中删除原来的“S”:

但是,我现在有两招。原始“S”的顶部和底部。由于我现在有两个笔画,如何在不删除整个先前笔画集合并重新添加新笔画集合的情况下将这些“新”笔画中的每一个添加回 InkAnalyzer(已删除原始复合笔画“S”)?

我真诚地感谢任何想法。

0 投票
1 回答
431 浏览

c# - Wpf 将图像文件格式示例 gif 或 jpg 拖到 inkcanvas 上

jpg问题是如果我要将图像或gif图像拖到,如何区分这两种图像格式inkcanvas?当我运行它时,我将我的gif图像拖到了inkcanvas但它没有进入第一个条件。它去了 else if。

gif在顶部声明为

0 投票
0 回答
212 浏览

c# - 每个点的 Wpf 手写笔、时间或刻度

我正在 wpf 中为 microsofft 表面设备开发一个应用程序。

我有一个 InkCanvas,我可以在其中绘制一些东西,然后从笔划中获取所有 Strokes 和所有 StylusPoint。无论如何,我需要为使用 InkCanvas 收集的每个点获取时间戳(或某种刻度,可能以毫秒为单位)。

我找不到符合我要求的东西,有办法做到这一点吗?

0 投票
1 回答
448 浏览

wpf - 如何使用可视状态管理器和情节提要将图像放置在控件模板中?

我需要在 InkCanvas 上放置许多图像控件。当满足某些代码条件时,它们都需要动画。经过多次尝试,我的 ControlTemplate 仍然不正确。

这是主网格的 xaml: