2011-06-25 101 views
1

在delphi中,有一種能夠在xor模式下重繪線條的模式,在這種模式下,筆與背景合併並導致隱藏線條,並且如果我們在背景中有很多顏色,則線條會以該顏色重新繪製,又如何能做到同樣的事情在C#中, 我不想重繪背景色線隱藏線 也是我應該說 我想提請面板mousemove事件系一個長方形連接到另一個繪製無閃爍線

+1

它仍然支持,雖然不是由GDI +。使用ControlPaint.DrawReversibleLine()。 –

+0

我知道,但即時通訊看圖形類 – DeveloperX

+1

你一定注意到「不是通過GDI +」評論。 –

回答

1

在.net世界中,您基本上重繪了背景顏色並重新繪製了線條。您可以使用DoubleBuffering來幫助最大限度地減少閃爍。

如果你已經死了,試圖走老派,看看SetRop2 API調用。

+0

重畫前一行不是好主意,它會導致重繪其他形狀,如線條和...,使用不同的顏色,即時看起來像MsPaint線條畫,清除背景並重繪所有對象不是好主意 – DeveloperX

+1

絕對,而SetRop2正是ControlPaint.DrawReversibleLine在場景後面所做的。 –