x11 xGetImage 错误匹配错误
x11 xGetImage BadMatch Error
我正在尝试制作一个简单的程序来转储当前屏幕并将其转换为 png 图像。但是,我目前收到错误 "X Error of failed request: BadMatch (invalid parameter attributes)",这似乎是由 XGetImage 引起的。查看文档,这似乎是由以下两者之一引起的:
BadMatch - InputOnly window 用作 Drawable。
BadMatch - 某些参数或参数对具有正确的类型和范围,但无法以请求所需的其他方式匹配。
我想这与第一个有关,但我不确定。如果确实如此,我将如何获得屏幕转储?
这是给出错误的代码片段:
Display *d = XOpenDisplay(NULL);
Window root = DefaultRootWindow(d);
int windowHeight = XDisplayHeight (d, 0);
int windowWidth = XDisplayWidth(d, 0);
// Get dump of screen
XImage *image = XGetImage(d, root, 0, 0, windowHeight, windowWidth, AllPlanes, ZPixmap);
你的 "width" 和 "height" 参数顺序错误,交换它们。
我正在尝试制作一个简单的程序来转储当前屏幕并将其转换为 png 图像。但是,我目前收到错误 "X Error of failed request: BadMatch (invalid parameter attributes)",这似乎是由 XGetImage 引起的。查看文档,这似乎是由以下两者之一引起的:
BadMatch - InputOnly window 用作 Drawable。
BadMatch - 某些参数或参数对具有正确的类型和范围,但无法以请求所需的其他方式匹配。
我想这与第一个有关,但我不确定。如果确实如此,我将如何获得屏幕转储?
这是给出错误的代码片段:
Display *d = XOpenDisplay(NULL);
Window root = DefaultRootWindow(d);
int windowHeight = XDisplayHeight (d, 0);
int windowWidth = XDisplayWidth(d, 0);
// Get dump of screen
XImage *image = XGetImage(d, root, 0, 0, windowHeight, windowWidth, AllPlanes, ZPixmap);
你的 "width" 和 "height" 参数顺序错误,交换它们。