我一直在寻找另一种在不使用和相关 XOR 方法的情况下为视觉对象(如选定的边缘、线条等)绘制选择指示符的替代方法。原因是不需要的异或“伪影”、不适用于位图的可逆性、无法控制实际视觉外观和速度缓慢。ControlPaint.DrawReversibleFrame
另一方面,如果用户决定取消选择一两个对象,我想避免重新绘制整个场景(实际上是地图),因为重新绘制可能会非常昂贵。
所以我能看到的唯一选择是直接在 a 上实现一些基本的绘图逻辑Bitmap
,但在像素更改之前存储像素的先前内容。然后(理论上)如果用户选择取消选择该边缘,我将能够重新应用选定边缘矩形的旧内容。
我的问题是您是否认为这是一个好主意,或者您是否看到我的问题的其他替代方案(在 GDI+ 内)?
提前致谢