2011-03-31 118 views
0

我已使用IsHighlighter属性InkCanvas创建荧光笔工具。 在现实生活中,当我们使用荧光笔时,它突出显示在我们笔记本或书籍的顶部, ,但在InkCanvas中,我无法突出显示墨水的顶部,这是我以前绘制的。 我正在创建具有笔以及荧光笔工具的应用程序,现在如果我必须突出显示某些我已经使用笔高分辨率打印到墨水上的东西,请使用 InkCanvas荧光笔InkCanvas

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

这里荧光笔突出波纹管我的笔的绘图。

任何解决方案?

回答

1

如果你想操纵招的ZORDER有应该是一个解决办法:Using multiple InkCanvases

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

所以,我发现了一个更直观的方式:只是做使用IsHighlighter财产,而是做出的DrawingAttributes用透明色对象:

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

这个颜色的笔划将在上面添加刚就像正常的荧光笔一样,当你切换回笔(cil)时,你会覆盖高光,就像在现实生活中一样。

+0

如果我们使用这种技术创建荧光笔,然后 当我们再次突出显示的区域时,颜色会变得黑暗和黑暗,如果我们使用IsHighlighter属性,则不会发生这种情况。 如果它正在先前突出显示的区域上绘制,则应该采取这种措施。 谢谢 – 2011-04-19 09:12:09

+1

在真正的纸上,如果多次使用荧光笔,它会变得更暗。所以这取决于你想要的效果。这就是为什么我添加了两个选项:两个喷墨打印机或使用透明颜色。 – 2011-04-19 09:15:40