IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

2D Java Discussion :

[Java2D]Fonction de remplissage


Sujet :

2D Java

  1. #1
    Membre régulier
    Inscrit en
    Juillet 2002
    Messages
    194
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 194
    Points : 102
    Points
    102
    Par défaut [Java2D]Fonction de remplissage
    Bonjour,

    je cherche un moyen de reproduire avec Java2D la fonction "pot de peinture" de mspaint (remplissage d'une zone définie par tous les pixels de la même couleur que le pixel sélectionné) mais je seche un peu sur l'algo de traitement. des pistes ?

  2. #2
    Membre actif Avatar de schneidb
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    236
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 236
    Points : 240
    Points
    240
    Par défaut
    On me contredira si je t'aiguille sur une fausse piste, mais:

    A partir de n'importe quel composant on doit pouvoir récupérer une image.
    Ensuite de cette image, on doit pouvoir récupérer les pixels qui l'a composent.
    Ensuite ne reste plus que se déplacer pour chaque pixel de ligne en ligne jusqu'a la fin est detecté à partir du clic de souris les zones en contactes.

    Je pense par exemple en utilisant les classes Shape et la méthode contains qui te permets de savoir si le clic contient la zone rouge par exemple.

  3. #3
    Membre éclairé Avatar de remika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    806
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 806
    Points : 861
    Points
    861
    Par défaut
    Sinon tu peux reprendre le principe du démineur quand tu découvres une case vide. Tu fais une fonction récursive qui vérifie les 8 pixels autour de ton pixel de départ. Par contre il faut conserver les pixels qui ont déjà été explorés.

  4. #4
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 852
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 852
    Points : 22 869
    Points
    22 869
    Billets dans le blog
    51
    Par défaut
    Voui ca s'appelle un algorithme d'innondation (transfert des valeurs/test sur les plus proches 4 ou 8 voisins - celon ce qu'on veut faire) ; c'est un grand classique de la manipulation d'image bitmap...

  5. #5
    Membre régulier
    Inscrit en
    Juillet 2002
    Messages
    194
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 194
    Points : 102
    Points
    102
    Par défaut
    vous auriez pas un petit exemple par harsard... si ca existe deja, autant pas réinventer la roue.

  6. #6
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 852
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 852
    Points : 22 869
    Points
    22 869
    Billets dans le blog
    51
    Par défaut
    Un peu de recherche ne fait pas de mal .

    http://en.wikipedia.org/wiki/Flood_fill

    Les images montrent les differences de comportement entre un test sur les 4 voisins et un sur les 8 voisins.
    Outre les algorithmes en pseudo-language, il y a des liens vers des implementations en bas de page.

  7. #7
    Membre régulier
    Inscrit en
    Juillet 2002
    Messages
    194
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 194
    Points : 102
    Points
    102
    Par défaut
    c'est exactement ce qu'il me fallait !
    merci bcp.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 17/07/2013, 14h43
  2. Fonction de remplissage de contrôles
    Par Masamunai dans le forum VB.NET
    Réponses: 17
    Dernier message: 01/12/2010, 15h47
  3. Réponses: 1
    Dernier message: 01/08/2010, 14h58
  4. je cherche fonction de remplissage (pot de peinture)
    Par Faudel24000 dans le forum 2D
    Réponses: 12
    Dernier message: 11/08/2009, 00h07
  5. [AC-2007] Remplissage d'un contrôle en fonction du remplissage d'un autre
    Par Razorback dans le forum IHM
    Réponses: 7
    Dernier message: 19/05/2009, 09h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo