相关疑难解决方法(0)

如何使用透明背景制作OpenGL渲染上下文?

渲染上下文通常在背景上具有纯色(黑色或其他任何内容,请参见下图):

替代文字

我想知道是否可以设置一个窗口,没有装饰和透明背景,同时允许我渲染OpenGL的东西.

这会产生三角形漂浮在屏幕上的错觉.透明背景应该允许您查看可能位于其后面的桌面或其他应用程序.

你能用源代码举例说明吗?

平台:Windows(仅限win32)

c opengl winapi transparency

96
推荐指数
6
解决办法
5万
查看次数

如何在openCV中以全屏无边框窗口显示图像

我想在全屏无边框窗口中在OpenCV中显示图像.换句话说,只显示图像像素,没有菜单,工具栏或窗口背景.

使用imshow()cvShowImage()不启用它:

  1. 窗口的宽度增加到全屏但不是高度.它错过了几个像素.
  2. 即使通过更改窗口处理程序的设置,我也无法使其无边界.

我认为问题的根源在于cvNamedWindow()创建主WS_OVERLAPPED窗口的方法,然后创建一个子项以及所有函数imshow()或者cvGetWindowHandle()对子项进行操作.

因此即使是windows命令:

SetWindowLong((HWND)cvGetWindowHandle(winName), GWL_STYLE, WS_VISIBLE | WS_EX_TOPMOST | WS_POPUP);
Run Code Online (Sandbox Code Playgroud)

没有帮助,因为孩子不能无国界WS_POPUP.有人得到了解决方法吗?

  • 也许,在不使用opencv内置方法的情况下向窗口显示opencv mat
  • 或某种窗口技巧

PS我尝试了以下代码:

cvMoveWindow("AAA",0,0);
cvSetWindowProperty("AAA", CV_WINDOW_FULLSCREEN, CV_WINDOW_FULLSCREEN);

// Also I tried this:
HWND hwnd = (HWND)cvGetWindowHandle("AAA");
RECT windowRect;
windowRect.left = 0;
windowRect.top = 0;
windowRect.right = cxScreen; //Display resolution
windowRect.bottom = cyScreen; //Display resolution
AdjustWindowRect(&windowRect,WS_VISIBLE,false);
long p_OldWindowStyle = SetWindowLongPtr(hwnd,GWL_STYLE,WS_POPUP);
SetWindowPos(hwnd,HWND_TOP,0,0,windowRect.right,windowRect.bottom,SWP_FRAMECHANGED | SWP_SHOWWINDOW);
SetWindowLong(hwnd, GWL_STYLE, WS_VISIBLE | WS_EX_TOPMOST | WS_POPUP); 
Run Code Online (Sandbox Code Playgroud)

c winapi opencv image

9
推荐指数
1
解决办法
2万
查看次数

创建一个没有标题和边框的窗口

如何使用CreateWindowEx()创建没有标题和边框的窗口?我为什么要用'|' OR运算符组合样式而不是'&'和?

winapi

4
推荐指数
1
解决办法
2万
查看次数

标签 统计

winapi ×3

c ×2

image ×1

opencv ×1

opengl ×1

transparency ×1