Créer un paint

Supopste Messages postés 69 Date d'inscription dimanche 30 octobre 2005 Statut Membre Dernière intervention 6 mars 2008 - 24 mai 2006 à 15:52
cs_davedave44 Messages postés 15 Date d'inscription samedi 2 janvier 2010 Statut Membre Dernière intervention 27 août 2011 - 14 mai 2011 à 10:35
Je ne savais pas très bien dans quelle catégorie mettre ma question..j'espère qu'elle se trouve au bon endroit (ça ennuiera moins les gens et j'aurais plus de chance de récolter une réponse).
Je connais les bases des graphics et j'essaye de créer une sorte de paint pour mettre en application tout ça et surtout pour pouvoir modifier mes images binaires (noir ou blanc).
J'ai cependant renontré plusieurs difficultés:
<li>La taille des curseurs</li>Comment peut on créer un curseur qui puisse changer de taile (par exemple ma gomme qui est en gros un curseur en forme de carré évidé est petite et je veux qu'elle paraiss eplus grande)
C'est juste le côté esthétique qui m'interesse, je sais comment gommer une zone carré d'une certaine taille mais la zone justement doit être représentée par le curseur.. et ça je ne sais pas faire...

<li>Créer un outil du type pot de peinture</li>Vous savez, celui qui remplit une zone de même couleur par une autre couleur... Je ne vois pas du tout comment faire

<li>Pour l'outil stylo</li>Je sais comment avoir la position de la souris au moment d'un click, au moment où on appuie ou même au moment où on relache, mais comment connaitre le parcours de la souris entre le moment où on presse et le moment où on relache pour afficher le parcours réellement parcouru et pas une droite entre les deux points?

Merci de votre aide

5 réponses

cs_badrbadr Messages postés 475 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 3 novembre 2008 1
24 mai 2006 à 17:33
La taille des curseurs:
pas besoin de changer de taille. Cache ton curseur, ensuite en utilisation l'événement MouseMove, dessine un rectangle blanc (la gomme à effacer) là où le curseur se trouve. Ca implique aussi que tu sauvegarde la zone en-dessous de la gomme à effacer pour que tu puisses la restaurer.

Créer un outil du type pot de peinture:
mmm....l'algo n'est pas simple. Je suis presque sûr que GDI a une fonction qui fait ca. Explore la classe Graphics pour voir un peu ;)

Pour l'outil stylo:
Il y a un événement MouseMove tout comme MouseDown et MouseUp. Quant l'utilisateur clique, définit une variable du genre mousepressed = true;
dans MouseMove, vérifie si mousepressed est égale à true. Si c'est le cas, dessine une ligne entre l'ancienne position et la nouvelle (encore faut-il sauvegarder ces positions :)

Si t'arrives à le terminer, ca serait une super bonne idée de mettre ton paint sur CSharpfr :)

[:D] @++
0
Supopste Messages postés 69 Date d'inscription dimanche 30 octobre 2005 Statut Membre Dernière intervention 6 mars 2008
24 mai 2006 à 17:49
Merci,
je m'y affaire. Pour le curseur, en effet ce sera plus simple
Pour l'algo je l'ai trouvé sur: http://www.codeproject.com/cs/media/floodfillincsharp.asp
Pour le stylo, ya plus qu'a ;)

Bien sur, quand j'aurais fini (je suis pas du genre à abandonner vite), je mettrai mon petit truc ici après avoir commenté bien entendu,
en tout cas merci beaucoup
0
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
27 mai 2006 à 14:36
pour le pot de peinture cest pas bien compliqué dans lidée ;)

juste un pti algo récursif.

tu click sur un pixel, lalgo (grossier) est le suivant :

pour tous les pixels autour de celui actuel

    si le pixel a la meme couleur, rappeler la fonction

    colorier le pixel dans la nouvelle couleur


bon cest grosso modo, apres faut lecrire, mais dans lidée cest ca ;)
0
cs_coq Messages postés 6350 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
27 mai 2006 à 14:42
Salut,

Si tu veux tu peux jeter un oeil aux sources de Paint.NET, ça devrait t'apprendre pas mal de choses sur le sujet :-)

/*
coq
MVP Visual C#
*/
0

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

Posez votre question
cs_davedave44 Messages postés 15 Date d'inscription samedi 2 janvier 2010 Statut Membre Dernière intervention 27 août 2011
14 mai 2011 à 10:35
Salut,
Si tu as trouver est ce que tu pourrais me donner le code stp car je n'ai pas trouvé ou c'était dans les sources de paint.net

Merci
0
Rejoignez-nous