2011-06-25 6 views
1

デルファイでは、xorモードでラインを再描画する機能がありました。このモードでは、ペンはバックカラーとマージされ、ラインを隠すようになりました。バックグラウンドで色が多かった場合、どのように私はC#で同じことを行うことができ、 私はしたくはライン を非表示にするには、もう一度背景色でラインを再描画しません。また、私は別の描画フリッカーフリーライン

+1

GDI +ではなく、まだサポートされています。 ControlPaint.DrawReversibleLine()を使用します。 –

+0

私は知っていますが、グラフィッククラスで何かを探しています – DeveloperX

+1

"not by GDI +"のコメントに気がつくに違いありません。 –

答えて

1

で、1つの長方形を接続するには、パネルMouseMoveイベントにラインを描きたい を言う必要があります基本的にバックカラーを再描画してラインを再描画します。 DoubleBufferingを使用すると、ちらつきを最小限に抑えることができます。

古い学校に行こうとすると死んでしまった場合は、SetRop2 APIコールを調べてください。

+0

前の線を再描画するのは良いアイデアで、線のような他の図形を再描画します。...、別の色で、MsPaint線画のようなものを見て、背景をクリアしてオブジェクトをすべて再描画しません。 – DeveloperX

+1

絶対にSetRop2は、ControlPaint.DrawReversibleLineがシーンの背後で行うこととまったく同じです。 –