从Xlib中获取Pixmap
我一直在试图找到一种直接从X窗口抓取视频的方法,并被指向Xlib和合成扩展 到目前为止,我已经能够通过以下代码收听更改事件并获取Pixmap:从Xlib中获取Pixmap,xlib,pixmap,Xlib,Pixmap,我一直在试图找到一种直接从X窗口抓取视频的方法,并被指向Xlib和合成扩展 到目前为止,我已经能够通过以下代码收听更改事件并获取Pixmap: #包括 #包括 #包括 #包括 #包括 使用名称空间std; int main(int argc,字符**argv){ int-br,base; 窗口win=0x3400003; 显示*dsp=XOpenDisplay(0); XCompositeQueryExtension(dsp、base和br); XDamageQueryExtension(dsp
#包括
#包括
#包括
#包括
#包括
使用名称空间std;
int main(int argc,字符**argv){
int-br,base;
窗口win=0x3400003;
显示*dsp=XOpenDisplay(0);
XCompositeQueryExtension(dsp、base和br);
XDamageQueryExtension(dsp、base和br);
coutX world中的“位图”指的是两种颜色的图像。我猜内部会获取图像请求并将服务器pixmap转换为位图。请注意,文件格式是它自己的“X11位图”,而不是windows位图
如果您确实需要图像的二进制blob,请使用函数。很抱歉不先尝试就回答,但在我看来,XGetImage总是直接从屏幕获取数据。这将使我无法获取隐藏窗口的图像,这正是我试图做的。不,它总是从drawable获取像素,但在X“unviewable”中(未映射或被其他窗口重叠)drawables通常不存储其内容,也不能保证您获得所需的像素。您需要使用复合扩展来始终保存窗口内容。好的,然后我将研究使用我的合成管理器来检索数据。如果您可以将隐藏drawables的问题添加到您的答案中,以供将来参考,那将是gr吃。=)