我想让Gtk +窗口的背景透明,以便只有窗口中的窗口小部件可见.我找到了一些教程:
http://mikehearn.wordpress.com/2006/03/26/gtk-windows-with-alpha-channels/
http://macslow.thepimp.net/?p=26
但他们似乎都在听"揭露"事件,然后委托开罗进行渲染.这意味着不会渲染添加到窗口的其他窗口小部件(例如,我也尝试向窗口添加按钮).
我看到GtkWidget上有一个方法modify-bg:http://library.gnome.org/devel/gtk/stable/GtkWidget.html#gtk-widget-modify-bg
但是,GdkColor似乎不接受透明度参数:http://library.gnome.org/devel/gdk/stable/gdk-Colormaps-and-Colors.html
我也尝试了GtkWindow.set_opacity方法,但这也设置了窗口内容的不透明度,这不是我想要的.
我很感激任何人都可以提供的任何指导.
我想在Linux上使用启动画面使应用程序成为应用程序.
我想使用X11和glx(OpenGL应用程序).
我找到了一种方法来移除窗口周围的边框,但我找不到如何使其透明.我怎么能做到这一点?
我想使用 glClear 和 glClearColor 用包括 alpha 透明度的颜色填充帧缓冲区。然而,当绑定到渲染到屏幕的纹理时,帧缓冲区总是渲染为不透明的。
我希望渲染到帧缓冲区的所有内容都保持其透明度。我只是想改变背景。
请参阅以下代码:
def create_texture(surface):
surface.texture = glGenTextures(1)
glMatrixMode(GL_MODELVIEW)
glLoadIdentity() #Loads model matrix
glBindTexture(GL_TEXTURE_2D, surface.texture) #Binds the current 2D texture to the texture to be drawn
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR) #Required to be set for maping the pixel data
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR) #Similar as above
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, surface.surface_size[0], surface.surface_size[1], 0, GL_RGBA,GL_UNSIGNED_BYTE, surface.data) #Put surface pixel data into texture
if surface.data == None:
setup_framebuffer(surface)
c = [float(sc)/255.0 for sc in surface.colour] #Divide colours by 255 …Run Code Online (Sandbox Code Playgroud) 在OpenCV中显示带有以下内容的图像时:
cvSetWindowProperty("displayCVWindow", CV_WND_PROP_FULLSCREEN,
CV_WINDOW_FULLSCREEN);
Run Code Online (Sandbox Code Playgroud)
如果有人注意到,则全屏窗口周围会出现一个小边框。有办法摆脱这种情况吗?
在全屏模式下显示窗口边框的屏幕截图。注意:屏幕截图被裁剪为仅显示左上角

在OpenGL中,为了获得适当的透明效果,我应该使用glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)但是使用混合函数时,alpha参数glClearColor变得毫无意义.当我在I中更改alpha参数时glClearColor仍然可以获得相同的效果.我什么时候可以使用alpha参数glClearColor?我能达到什么样的效果?