関連する XOR メソッドを使用せずに、ビジュアル オブジェクト(選択したエッジ、線など)の選択インジケーターを描画する別の方法を探しました。その理由は、不要な XOR 処理の「アーティファクト」、可逆性がビットマップに適用されないこと、実際の視覚的な外観を制御できないこと、および速度が遅いことです。ControlPaint.DrawReversibleFrame
一方で、再描画にはかなりのコストがかかる可能性があるため、ユーザーが 1 つまたは 2 つのオブジェクトの選択を解除したいと判断した場合、シーン全体 (実際にはマップ) を再描画する必要は避けたいと考えています。
したがって、私が見ることができる唯一の代替手段は、いくつかの基本的な描画ロジックを に直接実装することですが、変更前のピクセルの以前の内容Bitmap
を保存します。次に、(理論的には)ユーザーがそのエッジの選択を解除することを選択した場合、選択したエッジの長方形の古い内容を再適用できます。
私の質問は、これが良い考えだと思うか、それとも私の問題 (GDI+ 内) に対する他の代替案があるかどうかです。
前もって感謝します