在 UWP 中擦除笔画的一部分

Erasing portion of a stoke in UWP

我正在使用 Windows 10 的新 Ink 技术,方法是在 UWP 中使用 InkCanvas/InkPresenter。墨迹渲染非常好,除了我似乎无法只擦除笔划的一部分。我在看 OneNote,我假设它使用的是相同的技术,它们确实提供了擦除部分笔划的功能。我知道在首次引入 InkCanvas/InkPresenter 时这是不可能的,但我想知道是否有实现此目的的方法?也许有一些方法可以掩盖笔划来伪造橡皮擦?有人有建议吗?

您可以查看 Microsoft 的着色书示例,您可以在其中擦除单元格(部分笔划)。他们创建了一个带有填充、擦除单元格等功能的自定义 InkToolbar。

https://github.com/Microsoft/Windows-appsample-coloringbook

希望对您有所帮助。

编辑

您可以拦截默认的 inkcanvas 事件并设置处理程序以避免事件发生。

CoreInkIndependentInputSource core = CoreInkIndependentInputSource.Create(inkCanvas.InkPresenter); core.PointerPressing += ViewModel.Core_PointerPressing; 
core.PointerReleasing += ViewModel.Core_PointerReleasing; 
core.PointerMoving += ViewModel.Core_PointerMoving;