qq_35456959
KK流浪月光
2017-07-31 13:17
采纳率: 33.3%
浏览 1.5k

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

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • zy841958835
    cloudyzhao 2017-08-01 01:08
    已采纳
    点赞 评论
  • Linux__Ubuntu
    Linux__Ubuntu 2017-08-07 06:48

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

    点赞 1 评论
  • shen_wei
    shen_wei 2017-08-01 08:43

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

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

    点赞 评论

相关推荐