yvesdudu
Messages postés48Date d'inscriptionjeudi 16 août 2007StatutMembreDernière intervention 3 juin 2018
-
27 avril 2012 à 10:01
yvesdudu
Messages postés48Date d'inscriptionjeudi 16 août 2007StatutMembreDernière intervention 3 juin 2018
-
27 avril 2012 à 23:53
Bonjour à tous,
Le problème a été posé très souvent mais je n'ai pas trouvé une seule réponse à celui-ci à savoir:
Sous Direct 3D et VB6 je voudrais tester la couleur d'un pixel à l'aide des coordonnées de la souris.
L'API Getpixel ne donne pas de résultat satisfaisant,l'affichage de la valeur de la couleur dans la sub de rendu ne correspond pas à la réalité(sauf pour les couleurs franches rouge,bleu,jaune,vert,blanc et noir).
Alors quelqu'un a t-il été confronté à ce casse tète et si oui , comment peut on s'en sortir.
Je suppose qu'en D3D il doit exister soit une fonction , soit une instruction ou manipulation quelconque pour me sortir de cette impasse.
Un petit exemple sous paint j'ai une couleur qui vaut :FF 80 00 et dans mon programme sous D3D elle devient:FF 82 00
Merci à tous
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 27 avril 2012 à 11:23
Bonjour,
essare d'utiliser en plus la fonction TranslateColor de la librairie olepro32.dll de l'Api de Windows
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
yvesdudu
Messages postés48Date d'inscriptionjeudi 16 août 2007StatutMembreDernière intervention 3 juin 2018 27 avril 2012 à 14:31
Merci je vais tester , mais je doute que cette fonction règle mon problème en D3d car d'après ce que j'ai vu et si c'est exact , c'est une fonction qui ne fait que transformer le format d'affichage.
a suivre.......
Encore merci
yvesdudu
Messages postés48Date d'inscriptionjeudi 16 août 2007StatutMembreDernière intervention 3 juin 2018 27 avril 2012 à 23:53
En consultant le site Microsoft consacré à Windows et D3d j'ai trouvé la solution à mon problème à savoir:
Il y avait dans mon programme une incompatibilité entre le nombre de bits pour la couleur dans les propriétés de ma carte graphique (32) et le format du Backbuffer.
Pour pouvoir tester la couleur sous le curseur de la souris et avec Getpixel il faut mettre la ligne suivante:
BackbufferFormat=D3DFMT_X8R8G8B8
(A8R8G8B8 21 A 32-bit ARGB pixel format, with alpha, that uses 8 bits per channel )
On se demande pourquoi les gens qui ont codé ces paramètres l'ont fait si compliqué.
Cordialement
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 27 avril 2012 à 13:08
peut tu m'expliquer sommairement que fait cette fonction et surtout si tu connais la syntaxe exacte pour coder celle-ci
Réflexe ===>
Tapez le texte de l'url ici. Et ne ne saurais ni t'en dire plus (explications claires), ni t'en donner un code/exemple plus complet que celui que tu y trouves en exemple !
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 27 avril 2012 à 16:25
c'est une fonction qui ne fait que transformer le format d'affichage
Oui ? C'est ta traduction de :
Converts an OLE_COLOR type to an RGB color
.
?
Nous ne traduisons pas de la même manière.
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ