Capture imprécise de couleur avec GetPixel
Bonjour,
Je m’amuse à écrire une éphéméride valable pour tous les pays du monde et je voudrais affecter le fuseau horaire grâce à une carte des fuseaux horaires récupérée sur le net, cliquable dans un PictureBox.
Cette carte montre des zones colorées avec des séries de 4 couleurs pour la mer + 4 couleurs plus soutenues pour les continents.
Si les fuseaux étaient limités par les méridiens, ce serait facile grâce à l’abscisse X du curseur, mais les zones horaires suivent très souvent les frontières des états en mordant joyeusement sur les méridiens de référence.
Il faut donc que je récupère aussi la couleur située sous le curseur et que j’en déduise la zone de décalage horaire du pays.
Oui mais voilà en cliquant à plusieurs endroits sur une même zone colorée, la fonction getPixel ne me renvoie pas toujours la même couleur, ce qui est assez illogique, alors qu’en testant la même image avec un logiciel de dessin, la pipette me donne partout exactement les mêmes composantes RGB pour les zones de même couleur, ce qui est bien plus logique.
Comment faire pour obtenir la même précision avec VB Net ?
D'avance merci.
Et bonne journée à tous.
Capture imprécise de couleur avec GetPixel (résolu)
Merci pour vos réponses qui m'ont mis sur la piste.
J'avais adapté l'image à la taille de ma PictureBox sans conserver les proportions exactes et en plus, je travaillais sur une image png.
Conclusion : sans chercher à savoir lequel me causait les erreurs, j'ai retouché ces deux paramètres :
1- j'ai redimensionné à la largeur définitive dans mon logiciel de dessin en gardant les proportions.
2- J'ai sauvegardé en .bmp
J'ai ensuite ajusté le container PictureBox à l'image et non l'inverse.
Et Youpi ! plus aucun résultat incohérent.
Si je clique n'importe où sur une couleur, le pixel a toujours les mêmes composantes RGB. Je peux donc identifier mes 24 fuseaux horaires en m'aidant à la fois des couleurs et des coordonnées de la souris.
Merci encore.