使用XLib,我创建了32位每像素窗口和32 bpp XImage对象。
首先,我在窗口上绘制不透明的矩形,以便擦除背景。
然后我尝试在窗口上绘制创建的半透明XImage。
在这些操作中,我只能使用图形上下文的GXCopy功能,因为所有其他功能在alpha通道中表现不佳。
但是,绘制XImage时,它不会与背景混合,而只需用这种方式替换它(GXCopy),在窗口中创建透明孔。
有没有办法让X服务器正确混合半透明图像? (也许某个函数名为GXBlend?)
P.S。我知道XRender扩展,但如果可能的话,更喜欢使用XLib。
答案 0 :(得分:1)
不,这就是XRender推出的原因。另一种选择是GLX。还有一个选项(慢):将以前的内容传输到客户端,混合使用客户端代码并将pixmap放回服务器。