【问题标题】:Drawing over an image in win32?在win32中绘制图像?
【发布时间】:2012-07-03 20:24:05
【问题描述】:

首先,请记住我是win32的初学者,所以我很可能会错过明显的内容。

我正在使用 Code::Blocks、C++、win32。我正在制作一个程序:

  1. 将从文件中加载图像
  2. 将从另一个文件加载一些信息并将其绘制在图像上。

该程序稍后会在图像上绘制额外的东西。另外,我不需要将这张图纸实际并入图像中,图像仅作为图纸的参考。

我已设法在子(静态)窗口中显示图像,并且已成功将信息绘制到主窗口上。但是,当我想将两者结合起来以使绘图覆盖图像时,我陷入了困境-我不知道要绘制到哪个窗口以及要为绘图处理哪个消息。我在互联网上搜索了任何提示、示例、任何东西,但我一无所获。 (这可能是因为我不知道如何准确描述我的问题。)

在过去的几天里,我一直在尝试不同的事情,比如用图像绘制到静态控件,并尝试在图像上绘制到透明静态控件,但没有任何效果。

如果有人能给我任何提示,那就太好了!谢谢!

【问题讨论】:

    标签: winapi gdi codeblocks


    【解决方案1】:

    为您要绘制的窗口捕获WM_PAINT 消息。在处理程序中,添加代码首先绘制图像(可能是BitBlt 函数),然后再绘制您想要的图形。您还必须处理 WM_ERASEBKGND 消息,该消息用于在重新调整大小等时擦除窗口的背景。

    参考:WM_PAINT messageWM_ERASEBKGND message

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-28
      • 2011-01-05
      • 1970-01-01
      • 2021-08-03
      • 2011-02-23
      • 1970-01-01
      • 1970-01-01
      • 2011-10-26
      相关资源
      最近更新 更多