OpenCV 窗口居中显示在 MFC 窗口
要将 OpenCV 窗口移动到 MFC 窗口的中间位置,可以按照以下步骤进行操作:
-
获取 MFC 窗口的位置和大小信息。可以使用 MFC 中的 GetWindowRect 函数获取 MFC 窗口的位置和大小信息。
-
计算 OpenCV 窗口的新位置。将 MFC 窗口的位置和大小信息与 OpenCV 窗口的大小进行计算,以确定 OpenCV 窗口的新位置。例如,可以将 OpenCV 窗口的左上角坐标设置为 MFC 窗口的左上角坐标加上 MFC 窗口宽度的一半减去 OpenCV 窗口宽度的一半,将 OpenCV 窗口的右下角坐标设置为 MFC 窗口的左上角坐标加上 MFC 窗口高度的一半减去 OpenCV 窗口高度的一半。
-
移动 OpenCV 窗口到新位置。使用 OpenCV 中的 moveWindow 函数将 OpenCV 窗口移动到计算得到的新位置。
下面是一个示例代码片段,展示了如何将 OpenCV 窗口移动到 MFC 窗口的中间位置:
// 获取 MFC 窗口的位置和大小信息
CRect mfcRect;
GetWindowRect(&mfcRect);
// 获取 OpenCV 窗口的位置和大小信息
cv::Rect opencvRect = cv::getWindowImageRect('OpenCV Window');
// 计算 OpenCV 窗口的新位置
int new_x = mfcRect.left + (mfcRect.Width() - opencvRect.width) / 2;
int new_y = mfcRect.top + (mfcRect.Height() - opencvRect.height) / 2;
// 移动 OpenCV 窗口到新位置
cv::moveWindow('OpenCV Window', new_x, new_y);
请注意,上述示例代码中的 'OpenCV Window' 是 OpenCV 窗口的名称,您需要根据实际情况修改为您在创建 OpenCV 窗口时指定的名称。
原文地址: https://www.cveoy.top/t/topic/0eo 著作权归作者所有。请勿转载和采集!