【问题标题】:Erasing portion of a stoke in UWP在 UWP 中擦除部分描边
【发布时间】:2018-12-05 12:11:56
【问题描述】:

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

【问题讨论】:

    标签: uwp inkcanvas eraser


    【解决方案1】:

    您可以查看 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;
    

    【讨论】:

    • 非常好的例子。不幸的是,擦除单元格不会擦除笔画的一部分,而只是一个填充区域。我正在尝试开发自己的算法,但我需要禁用笔橡皮擦。您对此有什么建议,还是我应该发布另一个问题?
    • 您可以拦截默认的 inkcanvas 事件并设置处理程序以避免该事件发生。 CoreInkIndependentInputSource 核心 = CoreInkIndependentInputSource.Create(inkCanvas.InkPresenter); core.PointerPressing += ViewModel.Core_PointerPressing; core.PointerReleeasing += ViewModel.Core_PointerReleeasing; core.PointerMoving += ViewModel.Core_PointerMoving;
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-28
    • 2011-05-30
    • 2016-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多