本文介绍了以截图的libx11带的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

目前,我正在尝试使用的libx11采取截图

I'm currently trying to take a screenshot using libx11

#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <stdio.h>

int main(void) {
XImage* pic;
Display* dpl;
unsigned int buffer_size;

dpl = XOpenDisplay("127.0.0.1:0.0");

pic = XGetImage(dpl, RootWindow(dpl, DefaultScreen(dpl)), 10, 10, 201, 201,
        AllPlanes, ZPixmap);
}

如果我使用-lX11编译code和运行它,我不断收到分段错误。
任何想法?

if I compile the code using -lX11 and run it I keep getting a segmentation fault.Any ideas?

在此先感谢!

推荐答案

在X11服务器通常不会侦听TCP / IP本地主机,但在一个Unix套接字。无论如何,你不应该硬code中的X11服务器的地址。试试这个:

The X11 server does not usually listen on TCP/IP localhost, but on a Unix socket. At any rate, you should not hard-code the address of the X11 server. Try this:

dpl = XOpenDisplay(NULL);
assert(dpl);

这篇关于以截图的libx11带的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-05 13:18