VC++中如何将图片放置在优化校准的特定位置
Posted
技术标签:
【中文标题】VC++中如何将图片放置在优化校准的特定位置【英文标题】:How to Place the image at specific location of the Picture Conrol in 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() 获得了对话框的坐标。但我想要图片控件的坐标。
我有以下疑问:
如何获取图片控件的坐标???
如何将图片放置在图片控件的特定位置???
期待您尽早的积极回应……
问候,
维韦克
【问题讨论】:
【参考方案1】:您可以使用以下函数来检索图片控件的句柄:
::GetDlgItem( hWnd of your dialog, Id of your picture control)
通过检索它的句柄,您可以获得其他信息,例如它的位置、大小和
::GetWindowRect(hWnd, &rc)
如果您通过一些 API 调用(例如 StretchBlt)覆盖图像,则可以将其放置在您想要的任何位置。
【讨论】:
以上是关于VC++中如何将图片放置在优化校准的特定位置的主要内容,如果未能解决你的问题,请参考以下文章
如何在 JavaFX 中使用 HBox 将某些元素放置在画布上的特定位置? [关闭]
如何将窗口应用程序 python/tkinter 放置在屏幕上的特定位置?