【问题标题】:wpf inkcanvas brush stylewpf inkcanvas 画笔样式
【发布时间】:2013-05-11 21:28:13
【问题描述】:

我有标准 Inkcanvas 的应用程序。标准应用程序看起来像 Figure 1. 和所有应用程序代码 (XAML) 都在这里:

<Window x:Class="WpfApplication18.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525">
<Grid>
    <InkCanvas>
        <InkCanvas.DefaultDrawingAttributes>
            <DrawingAttributes x:Name="attribute" Width="40" Height="40" Color="BlueViolet" />
        </InkCanvas.DefaultDrawingAttributes>
    </InkCanvas>
</Grid>

我想知道如何使用图像(图像蒙版?)创建非标准 Inkcanvas 画笔,如下所示: Figure 2。我想使用 Inkcanvas 和简单的“背景”图像进行绘画 (jpg,png或其他)。有没有简单的制作方法?你能举个例子吗?

在我的应用程序中,我想在标准 Inkcanvas 上绘画,然后转换 Inkcanvas 选择以实现类似于图 2 的效果。(单击按钮后?)

【问题讨论】:

    标签: c# wpf xaml inkcanvas


    【解决方案1】:

    没有简单的方法,因为墨水只支持纯色的笔触。

    事实证明,创建您 paint on with an ImageBrush 的自定义画布可能会更容易,如果您想创建 inkcanvas 的完整副本,那就需要做很多工作,但您只需要能够做到这一点可能还不错画一些线。

    我想过在墨水画布下方放置一个图像并在墨水画布上使用透明颜色进行绘画,但这不会使墨水画布的背景透明。

    【讨论】:

      【解决方案2】:

      虽然这是一个旧线程,但我仍然想指出this sample at MSDN

      我已经使用 NET 4.0 + VS 2010 + Windows 7 x64 对其进行了检查,它可以正常工作(如 image 所示)。它似乎完全符合 OP 的要求。

      它使用 DynamicRenderer (msdn.microsoft.com/en-us/library/vstudio/system.windows.input.stylusplugins.dynamicrenderer(v=vs.100).aspx) 来实现这一点,就在 InkCanvas 中没有附加处理。

      您还可以使用 InkCanvas 进行一些额外的自定义 (msdn.microsoft.com/en-us/library/vstudio/system.windows.controls.inkcanvas(v=vs.100).aspx):

      • 墨水处理 (msdn.microsoft.com/en-us/library/vstudio/ms752076(v=vs.100).aspx)
      • 自定义呈现 (msdn.microsoft.com/en-us/library/vstudio/ms747347(v=vs.100).aspx)
      • 其他示例 (msdn.microsoft.com/en-us/library/vstudio/aa972145(v=vs.90).aspx)。

      问候,哈坎。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-11-27
        • 1970-01-01
        • 2010-12-12
        • 1970-01-01
        • 2018-03-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多