Test d'une couleur en direct3d

Résolu
yvesdudu Messages postés 48 Date d'inscription jeudi 16 août 2007 Statut Membre Dernière intervention 3 juin 2018 - 27 avril 2012 à 10:01
yvesdudu Messages postés 48 Date d'inscription jeudi 16 août 2007 Statut Membre Derniè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

6 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
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
3
yvesdudu Messages postés 48 Date d'inscription jeudi 16 août 2007 Statut Membre Derniè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
3
yvesdudu Messages postés 48 Date d'inscription jeudi 16 août 2007 Statut Membre Derniè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
3
yvesdudu Messages postés 48 Date d'inscription jeudi 16 août 2007 Statut Membre Dernière intervention 3 juin 2018
27 avril 2012 à 13:04
Merci pour ta réponse mais peut tu m'expliquer sommairement que fait cette fonction et surtout si tu connais la syntaxe exacte pour coder celle-ci.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
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
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
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
0
Rejoignez-nous