设置
使用xlib,我正在创建32位每像素窗口和32 bpp ximage对象。
一开始,我在窗口上画了一个不透明的矩形,以便清除背景。
然后我尝试在窗口上绘制创建的半透明ximage。
在这些操作中,我只能使用图形上下文中的gxcopy函数,因为所有其他函数在alpha通道中的表现都不好。
但是,绘制ximage时,它不会与背景混合,而只是用这种方式替换它(gxcopy),在窗口中创建透明的孔。
问题
有没有办法使x服务器正确地混合半透明图像?
(可能是某个名为gxblend的函数?)
另外,我知道xrender扩展,但如果可能的话,我更喜欢使用xlib。
最佳答案
不,这就是引入xrender的原因。另一个选择是glx。还有一个选项(慢):将以前的内容传输到客户端,混合客户端代码并将pixmap放回服务器。
关于linux - 32位XImage,XPutImage和Alpha混合,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27551841/