2011-03-31 110 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