gpt4 book ai didi

c++ - 在屏幕上绘图

转载 作者:可可西里 更新时间:2023-11-01 09:20:56 24 4
gpt4 key购买 nike

我目前正在使用 OpenCV 开发一个应用程序来对屏幕上的元素进行视觉识别。

虽然不需要过程的可视化表示,但如果我能找到一种方法直接在屏幕上绘制圆圈、线条和可能的文本,而无需应用程序窗口,这对于调试目的将非常有用。

例如,某些应用程序可以在屏幕上绘制 HUD。他们是怎么做到的?

我需要一种方法让我的绘图始终位于最前面。一般来说,我设法找到的所有方法都涉及在窗口上绘画(WinAPI、Direct2D、OpenGL)。是否有一种变通方法可以使它看起来只是桌面上的停留(包括所有打开的窗口)?

最佳答案

为了调试的目的,直接在屏幕上画图就可以了。 IIRC GetDC(0) 将为您提供屏幕的设备上下文,但请检查整个函数系列。在 Windows 7 中,它甚至不会影响其他应用程序的显示,据报道它在 Mac 上同样“安全”。


例如,在屏幕的左上角绘制一个椭圆:

#include <windows.h>

int main()
{
HDC const dc = GetDC( 0 );
Ellipse( dc, 10, 10, 200, 200 );
}

如果图形位于窗口顶部并且该窗口被移动,则该图形会消失。

关于c++ - 在屏幕上绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14992589/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com