win32 gdi+删除某一条画过的直线

背景图片不是纯背景,所以不能用背景色重绘 ,因为想实现的功能是画过很多直线后,可随机删除,因为我的方法里每次重新绘制所有直线很麻烦,所以想问问其他的方法

3个回答

保存绘制直线前的底层背景色,直线的坐标值。。。删除某一条直线时,直接使用底层背景色绘制直线。。

简单来说就是颜色替换而已!!!

Windows并不提供删除直线的功能,因为Windows直接将直线绘制在了hdc上,并不会保存之前的状态。
如果你希望实现恢复,最简单的方法是调用InvalidateRect函数刷新屏幕并全部重绘
或者也可以把之前的的内容复制到内存dc,恢复时将内存dc上重新绘制到屏幕。(第二个方法比较笨重,我还是更推荐第一种)

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐