【问题标题】:mouse click to get coordinates of picture control-MFC鼠标点击获取图片控件坐标-MFC
【发布时间】:2014-07-28 07:14:46
【问题描述】:

我创建了一个图片控件(类型:框架)来显示图像。现在我想用鼠标点击图片控件的指定坐标来显示位置和R、G、B值。我该如何解决这个问题?

【问题讨论】:

    标签: mfc


    【解决方案1】:

    捕获 WM_LBUTTONDOWN 消息。从 lParam 获取 x/y 坐标(有关详细信息,请参阅 MSDN)。使用 GetDIBits() 从图像中获取位。从您从 GetDIBits() 获得的位图缓冲区中读取 RGBA,在您从 lParam 获得的位置 x/y 处。这假设您的图片控件不进行缩放等,您必须为此更正 x/y。或者,您可以使用 ::PrintWindow() API 将窗口副本获取到 DC;然后,您可以在 DC 上使用 GetPixel() 来获取 COLORREF。想一想,如果您只追求一个 RGB 值,这可能是一个更好的解决方案。

    【讨论】:

      猜你喜欢
      • 2021-05-31
      • 2010-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-24
      • 1970-01-01
      • 2016-04-14
      相关资源
      最近更新 更多