Bonjour,
J'essaie de capturer l'image d'une fenêtre X11 (une sorte de screenshot dans le code).
J'ai bien récupéré le Display et l'identifiant de la Window.
J'arrive également à récupérer les infos (notamment width et height), mais j'ai une erreur BadValue lors du XGetImage.
Voici l'extrait de code concerné:
XWindowAttributes winAttr;
XGetWindowAttributes(_display, _window, &winAttr);
XImage * image = XGetImage(_display, _window, 0,0, winAttr.width,winAttr.height, 0x00FFFFFF, XYBitmap);
et le message retourné lors de l’exécution:
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 73 (X_GetImage)
Value in failed request: 0x0
Serial number of failed request: 9
Current serial number in output stream: 9
Je ne vois pas d'où ça peut venir.
Si l'un d'entre vous a une idée, ça m'aiderait beaucoup.
Merci d'avance
# XYPixmap
Posté par Obsidian . Évalué à 6.
Hello,
Et, dans la man page :
Dans ton code, on voit :
et la man page précise :
Essaie donc de remplacer XYBitmap par XYPixmap.
[^] # Re: XYPixmap
Posté par errno . Évalué à 2.
Merci c'était bien ça !
C'est ça qui m'a induit en erreur (dans X11/Xlib.h) :
typedef struct _XImage {
// …
int format; /* XYBitmap, XYPixmap, ZPixmap */
// …
} XImage;
```
Mais effictevement le man ne parle que de XYPixmap et ZPixmap.
Encore merci
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.