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

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

60
已采纳

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

3条回答

  • zy841958835 cloudyzhao 4年前
    点赞 评论 复制链接分享
  • Linux__Ubuntu Linux__Ubuntu 4年前

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

    点赞 评论 复制链接分享
  • shen_wei shen_wei 4年前

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

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

    点赞 评论 复制链接分享

相关推荐