Tester la couleur d'un pixel

Tester la couleur d'un pixel - C - Programmation

Marsh Posté le 05-02-2013 à 19:51:08    

Bonjour à tous!
 
Je cherche à faire un programme capable de tester la couleur d'un pixel particulier sur une page Web (dans une animation flash), la fenêtre étant ouverte a l'écran.
Le tout dans le but d’émettre un son lorsque celui ci prend la couleur prévue.
 
J'ai fais quelques recherches sur internet avant de poster mais j'en reviens bredouille. Je pensais avoir trouvé mon bonheur avec "getpixel()" dans la librairie "Graphics" mais en creusant un peu je ne pense pas que cela me soit utile.  
 
J'ai ensuite trouvé quelques infos sur "getpixel()"dans GDI32 mais je n'arrive pas a la faire marcher (je lie le projet a libgdi32.a mais la getpixel reste inconnue... De plus je ne suis pas certain que cela fonctionne pour aller récupérer l'info sur une autre fenêtre.
 
D'avance merci

Reply

Marsh Posté le 05-02-2013 à 19:51:08   

Reply

Marsh Posté le 06-02-2013 à 09:59:59    

Salut, si ca peut aider : http://rosettacode.org/wiki/Color_of_a_screen_pixel


---------------
Origin / PSN / Steam / Uplay : x1fr - bnet : Fab#2717
Reply

Marsh Posté le 07-02-2013 à 15:32:30    

Je pense que je n'ai pas bien saisi ce que je trouve sur cette page... voici la partie qui m'intéresse:
 
COLORREF getColorAtCursor(void) {
    POINT p;
    COLORREF color;
    HDC hDC;
    BOOL b;
 
    /* Get the device context for the screen */
    hDC = GetDC(NULL);
    if (hDC == NULL)
        return CLR_INVALID;
 
    /* Get the current cursor position */
    b = GetCursorPos(&p);
    if (!b)
        return CLR_INVALID;
 
    /* Retrieve the color at that position */
    color = GetPixel(hDC, p.x, p.y);
 
    /* Release the device context again */
    ReleaseDC(GetDesktopWindow(), hDC);
 
    return color;
}
 
J'ai rajouté ce code au début de mon programme mais le debugguer me renvoi le message "undefined reference to 'GetPixel@12'
J'ai pourtant bien rajouté le header #include <Windows.h>

Reply

Marsh Posté le 07-02-2013 à 15:37:12    

Le fait de rajouter le header ne change rien, car le problème est rencontré dans la phase d'édition de lien.
 
Vous devez rajouter la bibliothèque qui contient la fonction GetPixel, qui doit être Gdi32.lib

Reply

Marsh Posté le 07-02-2013 à 17:09:20    

Dans ce cas j'en reviens à mon premier post...
je lie le projet a libgdi32.a mais la getpixel reste inconnue...

Reply

Marsh Posté le 07-02-2013 à 17:19:35    

Vous utilisez g++ (MinGW) ?

Reply

Marsh Posté le 07-02-2013 à 19:16:34    

Oui, il est utilisé par défaut avec CodeBlock, logiciel que j'utilise

Reply

Marsh Posté le 07-02-2013 à 23:54:23    

Tu as linké la librairie ?


---------------
Perhaps you don't deserve to breathe
Reply

Marsh Posté le 08-02-2013 à 07:22:37    

Oui en utilisant la librairie libgdi32.a mais rien n'y fait...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed