【问题标题】:How to Place the image at specific location of the Picture Conrol in VC++VC++中如何将图片放置在优化校准的特定位置
【发布时间】:2012-12-01 12:01:16
【问题描述】:

我正在尝试在实时视频上叠加图像。使用的 IDE 是 Visual Studio Professional 2010。代码是用 C++ 开发的。当我尝试在实时视频上叠加图像时,我正在使用句柄加载图像即

                           HANDLE hBitmap;            

         hBitmap = LoadImage(NULL, L"C:\\Users\\User\\Documents\\Visual Studio 2010\\Projects\\BMP_Image.bmp",IMAGE_BITMAP, 0,0, LR_LOADFROMFILE );

我正在使用 Alpha 混合机制将图像叠加到视频上。我遇到的问题是,图像在视频上连续叠加了五次。

我传递一个图片控件的ID,放在rc文件中的对话框中,用来加载直播视频并显示。我没有在代码中使用任何 MFC。视频使用 Direct 2D 机制渲染

视频分辨率为 640*480,位图图像分辨率为 128*128。如果我拿这张位图,视频会在视频上产生五次叠加的图像..

我使用 GetWindowRect() 和 ScreentoClient() 获得了对话框的坐标。但我想要图片控件的坐标。

我有以下疑问:

如何获取图片控件的坐标???

如何将图片放置在图片控件的特定位置???

期待您尽早的积极回应……


问候,

维韦克

【问题讨论】:

    标签: c++ windows winapi win32gui win32-process


    【解决方案1】:

    您可以使用以下函数来检索图片控件的句柄:

    ::GetDlgItem( hWnd of your dialog, Id of your picture control)
    

    通过检索它的句柄,您可以获得其他信息,例如它的位置、大小和

    ::GetWindowRect(hWnd, &rc)
    

    如果您通过一些 API 调用(例如 StretchBlt)覆盖图像,则可以将其放置在您想要的任何位置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-04
      相关资源
      最近更新 更多