荧光笔InkCanvas

时间:2011-03-31 09:49:23

标签: c# wpf vb.net silverlight

我使用了IsHighlighter InkCanvas属性创建了荧光笔工具。 在我们使用荧光笔的现实生活中,它突出了我们的笔记本或书籍的顶部, 但是在InkCanvas中,我无法突出显示我之前绘制的Ink的顶部。 我正在创建具有笔和荧光笔工具的应用程序,  现在,如果我必须强调一些我画的东西 使用pen highliter的InkCanvas归结为Ink。

Check this image, in which i have pen as well highlighter

这里的荧光笔突出了我的笔画。

任何解决方案?

1 个答案:

答案 0 :(得分:1)

如果你想操纵笔划的ZOrder,可以采取一种解决方法:Using multiple InkCanvases

我对此有点失望;我期待能够将笔画移到顶部。我甚至试图在StrokeCollection中操纵Strokes的顺序,但无济于事。

所以我找到了一种更直观的方法:只需使用IsHighlighter属性,而是使用透明颜色制作DrawingAttributes对象:

private DrawingAttributes _highLighter =
    new DrawingAttributes { 
        Color = Color.FromArgb(128, 255, 255, 0),
        IsHighlighter = false, 
        Width = 20, Height = 20 
    };

使用此颜色的笔划将像普通荧光笔一样添加到顶部,当您切换回笔(cil)时,您将覆盖高光,就像在现实生活中一样。