2016-07-24 28 views
2

Ich schreibe ein Programm, das die XGetPixel() -Methode verwendet. Allerdings ist es bei der Verwendung bekomme ich eine Fehlermeldung, "Error: XGetPixel wurde nicht in diesem Bereich erklärt"Fehlende XGetPixel() in X11/Xlib.h?

Mein Code ist folgende:

#include <X11/Xlib.h> 
#include <X11/X.h> 
#include <unistd.h> 
#include <iostream> 
using namespace std; 

int main() 
{ 
    // Open a display. 
    Display *d = XOpenDisplay(NULL); 

    // Get the root of the display 
    Window root = DefaultRootWindow(d); 

    // Map the root window 
    XMapWindow(d, root); 

    // Get width and height of the display 
    int windowHeight = XDisplayHeight (d, 0); 
    int windowWidth = XDisplayWidth(d, 0); 

    // Get dump of screen 
    XImage *image = XGetImage(d, root, 0, 0, windowWidth, windowHeight, AllPlanes, ZPixmap); 

    XGetPixel(image,5,5); 

    return 0; 
} 

Seltsam, wenn ich in der X11/Xlib.h überprüfen Es scheint nicht einmal eine XGetPixel() -Methode oder -Struktur zu haben. Ist es möglich, dass dies ein Fehler ist? Ich benutze derzeit Ubuntu 16 und installiert es mit apt-get libx11-dev und ich kann keine gemeldeten Probleme zu diesem Problem finden.

Antwort

2

Bildbearbeitungsfunktionen sind definiert unter #include <X11/Xutil.h>.

+1

Vielen Dank! Ich habe mir verschiedene Beispiele angesehen und sie haben nur die benutzt, war das geändert oder war es immer unter Xutil.h? – Jack

+1

Es hat sich im Laufe der Zeit geändert. –