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

C# Discussion :

A propos des Région en C#


Sujet :

C#

  1. #1
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut A propos des Région en C#
    Bonjour

    Simple petite question :

    J'ai 2 graphicsPath que je souhaite combiner...

    J'utilise une région et ca fonction Union... super

    Maintenant, comme je suis "flemmard".. je me posais la question suivante:

    Je veux fusionner 2 shapes (disons un rectangle et un cercle)

    Je crée 2 GraphicsPath... que je fusionne dans une region....

    Et la question :

    A partir de la region, comment (est-ce possible ? ) puis-je recupérer un
    GraphicsPath ou autre objet me donnant les "contours" de ma région ?

    L'idée est de pouvoir fusionner 2 listes de points (provenant de différentes shapes que j'ai crée) et de pouvoir les fusionner sans avoir à être trop intelligent et donc devoir trouver le contour exacte...

    Puisque les Regions offrent la possibilité d'exclure, d'unir, etc... je me disais que ca serait bien "agréable" que l'on puisse récupérer le contour...

    Si quelqu'un sait faire ?

    Et dans le cas échéant, si vous aviez une autre piste , je suis preneur

    The Monz, Toulouse
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

  2. #2
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    salut

    Alors, personne n'aurait une petite idée sur comment "ajouter" 2 formes et recupérer les points qui définissent le contour ?

    The Monz, Toulouse
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

  3. #3
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    bonjour

    Bon apres maintes recherches voici la solution que j'ai réalisé (pour ceux que
    ca interesserait )

    1/ je mets dans un GraphicsPath l'ensemble des graphicsPath que je veux fusionner et dont je cherche le contour...

    2/ Je crée une bitmap au dimension de mon GraphicsPath.bounds contruit

    3/ Je remplis de noir mon graphics
    4/ je fais un TranslateTransform des bords X,Y du graphicsPath pour me repositionner en 0,0 au niveau de mon image
    5/ je fais un DrawPath de mon path (Pen de taille 2 - couleur Rouge)
    6/ Je fais un Fill Path avec mon path (en noir , meme couleur que le fond)

    Ainsi, j'ai une image avec mon dessin et son contour à trouver.

    Je cherche le premier point de la couleur de mon DrawPath

    Une fois trouvé ce point, je regarde dans les 8 directions qui l'entoure si je trouve un point de la couleur Rouge...Je vérifie que ce point n'a pas déja été ajouté (bon ok, tout n'est pas parfait)...
    Si je ne trouve pas de point, je recommence en elargissant la zone de recherche... une fois un point trouvé et différent d'un point déja ajouté,
    je l'ajoute à la liste de mes points trouvés...

    Je reitère l'opération jusqu'à ce que je tombe sur mon point de départ....

    Ensuite, j'appelle une fonction qui va me "nettoyer" les points pour en sortir moins que trouvé...

    Pour se faire, je cherche les points qui sont à proximité et tant que X ou Y ne change pas, je ne les prends pas en compte...(il faut bien mémoriser le dernier point à ajouter pour le prendre en compte quand on aura un changement necessitant sa mémorisation)

    Et voiila...

    Je suis désolé, je ne peux pas trop mettre le code ici car bon, comme c'est pour mon boulot... (et puis, je suis passé par du GetPixel() de mon image ce qui n'est pas le plus rapide....)

    Avec ce descriptif, vous devriez pouvoir vous debrouillez...

    The Monz, Toulouse
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

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

Discussions similaires

  1. Aide a propos des TMenuEdit
    Par scooper dans le forum C++Builder
    Réponses: 9
    Dernier message: 27/05/2004, 15h39
  2. Une question à propos des thread
    Par tscoops dans le forum C++Builder
    Réponses: 4
    Dernier message: 07/11/2003, 14h03
  3. A propos des 'File management Functions' de Windows
    Par znaidi dans le forum Windows
    Réponses: 3
    Dernier message: 01/04/2003, 16h01
  4. A propos des modèles d'objet (avec sources)
    Par DevX dans le forum C++Builder
    Réponses: 14
    Dernier message: 01/12/2002, 12h22

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