Colorer une image

Signaler
Messages postés
90
Date d'inscription
mercredi 11 juin 2003
Statut
Membre
Dernière intervention
3 février 2011
-
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
-
Avis aux aventuriers du développement !!!

Mettons que j'ai une carte de france en noir et blanc et qu'en fonction de x ou y je veux colorer tel ou tel département de telle ou telle couleur, quelle est votre réponse :
- mission totalement impossible ?
- mission impossible ?
- mission possible ?
- mission trés possible ?

Faites-votre choix... Pour l'instant je suis sur la piste de GDI+, mais ce n'est pas une piste facile à suivre.

Lawra C.

7 réponses

Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
49
Deux choses :

1) On dit colorier et pas colorer il me semble :-)
2) En C#, rien n'est impossible

Donc mission possible...
Mais sans moi !

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
Messages postés
90
Date d'inscription
mercredi 11 juin 2003
Statut
Membre
Dernière intervention
3 février 2011

1) Je crois qu'on peut également dire colorer, non, en fait, j'en suis sûre


2) Quel dommage ... J'espère que ce ne sera pas sans moi, mais entre possible et réalisé y'a souvent beaucoup, beaucoup d'écart ;)
Lawra C.
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
46
Non, ca doit pas etre impossible du tout.



Si ta carte est en noir et blanc, on peut donc imaginer que les régions sont séparées par un trait noir.



Donc, en théorie, ca marcherait comme ca:

- Tu choisis la couleur voulue

- Tu cliques sur la région que tu veux colorier (Colorer, coloriser, mettre en couleur... Ou comme tu veux )

- Tu enregistrer la coordonée sur pixel cliqué.

- Tu colories tous les pixels qui l'entourent directement s'ils sont de couleur blanche

- Tu continues de la meme facon pour ces nouveaux pixels coloriés,
jusqu'a que tous les pixels rencontrés soient de couleur noire.



Ca semble impressionant comme ca, mais je pense qu'avec une petite
méthode recursive qui va bien, ca doit etre tout a fait faisable.




Mx
Messages postés
90
Date d'inscription
mercredi 11 juin 2003
Statut
Membre
Dernière intervention
3 février 2011

Mais ça m'a l'air puissant ça.
J'avoue que je n'ai pas trop regardé GDI +, mais on pourrait faire ça ?!!!!!
Mais si aprés tu veux imprimer l'image avec les couleurs ? Tu mime un enregistrer sous et tu imprimes ?

Lawra C.
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
46
Oui, je pense que y'a pas de souci apres, meme pour l'impression.



Je suis en train de regarder justement, si ma théorie peut marcher. (ca
me prend un peu de temps parce que je suis pas un expert GDI+ du tout).

Mais avec un objet Bitmap, tu as les fonctions GetPixel() qui te donne
la couleur du pixel, et SetPixel(int, int, Color) pour remplacer la
couleur d'un pixel.



Ca devrait etre suffisant ;)

Mx
Messages postés
90
Date d'inscription
mercredi 11 juin 2003
Statut
Membre
Dernière intervention
3 février 2011

Ce que ça peut donner envie de jouer ... Je connais rien moi non plus à GDI.
C'est juste que je travaille sur un projet que j'aurai fini à la fin du mois. Mais suite à des problèmes indépendants de ma volonté la mise en place est repoussée de 2 mois. Et le coup de la carte de france, bien que facultatif, me titillait depuis un moment, alors ...

Je sens que je vais jouer ! Merci pour les pistes, je vais chercher et je reviendrai donner des nouvelles .

Lawra C.
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
46
Voila un code qui pourrait t'aider :



http://www.codeproject.com/cs/media/floodfillincsharp.asp



Il utilise du code unsafe, plus rapide pour le traitement graphique.



Bon courage ! Et tiens nous au courant !

Mx