admax74
Messages postés3Date d'inscriptionmardi 18 novembre 2008StatutMembreDernière intervention20 novembre 2008
-
19 nov. 2008 à 07:47
nanonavich
Messages postés54Date d'inscriptionmardi 25 mars 2008StatutMembreDernière intervention15 août 2015
-
19 nov. 2008 à 18:17
Bonjour!
Tout d'abord je suis débutant en c/c++ : je m'y suis mis la semaine dernière.
j'utilise le programme CodeBlocks.
Je souhaite dans mon programme console tout simple chercher sur l'écran un pixel de couleur donnée.
J'ai bien entendu commencé par utiliser GetPixel, mais si le pixel cherché est tout en bas
à droite de l'écran, le programme va utiliser un grand nombre de fois l'instruction GetPixel
et il se passe bien au moins 5secondes avant de trouver le pixel de couleur donnée,
ce qui n'est pas acceptable pour moi!
Donc j'ai lu les sujets à propos de l'utilisation de GetDiGiBits qui semble extremement plus rapide,
mais en contrepartie son utilisation me semble plus délicate! Voilà le code très inspiré de certains codes
qu'on peut trouver sur ce forum, mais dans la mesure où je veux travailler directement avec l'écran, il m'a semblé
devoir écrire ce code ci dessous....J'ai tenté d'isoler et d'utiliser simplement GetDiGiBits ...
Je ne comprends pas chaque ligne, et le fait est que ce code renvoie toujours la même couleur de pixel, quel que soit
le pixel que je teste!!! ce qui est gênant n'est ce pas!!! Comment dois je modifier ce code pour qu'il me renvoie bien
la couleur du pixel que je teste?!
for(i=start;i<end;i++)
{
int R=ScreenBuffer[3*i];
int G=ScreenBuffer[(3*i)+1];
int B=ScreenBuffer[(3*i)+2];
printf("i=%i et R=%i et G=%i et B=%i \n",i,R,G,B);
system("PAUSE");
}