32位XImage,XPutImage和alpha混合

时间:2014-12-18 17:00:30

标签: linux xlib

设置

使用XLib,我创建了32位每像素窗口和32 bpp XImage对象。

首先,我在窗口上绘制不透明的矩形,以便擦除背景。

然后我尝试在窗口上绘制创建的半透明XImage。

在这些操作中,我只能使用图形上下文的GXCopy功能,因为所有其他功能在alpha通道中表现不佳。

但是,绘制XImage时,它不会与背景混合,而只需用这种方式替换它(GXCopy),在窗口中创建透明孔。

问题

有没有办法让X服务器正确混合半透明图像? (也许某个函数名为GXBlend?)

P.S。我知道XRender扩展,但如果可能的话,更喜欢使用XLib。

1 个答案:

答案 0 :(得分:1)

不,这就是XRender推出的原因。另一种选择是GLX。还有一个选项(慢):将以前的内容传输到客户端,混合使用客户端代码并将pixmap放回服务器。