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 :

Insérer une image dans un polygone donné.


Sujet :

C#

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2005
    Messages : 197
    Par défaut Insérer une image dans un polygone donné.
    Bonjour,

    J'ai une image sur laquelle je construit un polygone en cliquant a plusieurs endroits. J'ai donc un vecteur de point (X,Y) qui délimite ce polygone.

    Maintenant, j'aimerais pouvoir insérer une autre image dans ce polygone et seulement à l'intérieur de cette surface. Donc si l'image est plus grande, elle sera partiellement coupée et c'est ce qui est désiré.

    Notez que je n'ai pas à construire une image à partir de ces manipulations. Donc, si les images se superposaient visuellement à l'écran, ce serait bien suffisant. Sinon, si vous avez un truc pour reconstituer le bitmap, c'est encore mieux.

    Comment puis-je faire ceci?

    merci

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2006
    Messages
    1 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 627
    Par défaut
    Tu dessines avec quoi ? Winform ? Wpf ?
    Si Wpf => ImageBrush et ensuite jouer sur la propriété Stretch

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2005
    Messages : 197
    Par défaut
    WInform. Il est trop tard pour que j'utilise WPF. J'épluche la doc de MSDN mais rien n'est simple. Je voudrais pouvoir:
    1. créer une couche (layer) avec l'image dans le pictureViewer
    2. créer une autre layer avec une image de mon choix et créer un masque avec le polygone (l'exterieur du polygone est transparent)
    3. Superposer cette derniere image à mon image initiale.

  4. #4
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 114
    Par défaut
    Suffit d'utiliser une texture brush. Simple et efficace. Pour le reste c'est une simple question d'organisation. Suffit de dessiner les layers l'un prés l'autre. le tout est de savoir comment organiser les objets au niveau du code.

    http://www.vb-helper.com/howto_net_texturebrush.html

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2005
    Messages : 197
    Par défaut
    bon va pour le Texturebrush, le problème c'est que je veux pouvoir sélectionner à nouveau mon polygone et que ce soit un objet à part entière sur l'image de fond. Si j'utilise Texturebrush et toute la cuisine qui vient avec, le nouveau bitmap est confondu en 1 objet et je ne peux plus accéder à ma "région" sur laquelle j'ai insérer une nouvelle image... et oui, j'ai aussi explorer la classe Region mais sans succès.

    Pour résumer, je veux pouvoir faire comme avec Photoshop. Créer des layer sur lesquelles j'insère des photos ou de la couleur. Est-ce que quelqu'un connait?

  6. #6
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    Au lieu de TextureBrush, on peut utiliser Graphics.SetClip() pour tracer l'image A seulement à l'interieur du polygone et Graphics.ExcludeClip() pour tracer à l'image B seulement à l'extérieur.

    Pour la gestion de layers, il faut le faire à la main.
    Exemple ici : http://comsell.blogspot.com/2009/06/...gdi-and-c.html

Discussions similaires

  1. Réponses: 5
    Dernier message: 11/03/2009, 21h46
  2. [MFC]Insérer une image dans un CListCtrl
    Par DestyNov@ dans le forum MFC
    Réponses: 8
    Dernier message: 04/03/2005, 14h36
  3. Comment insérer une image dans une cellule d'un TDrawGrid ?
    Par kanux dans le forum Composants VCL
    Réponses: 4
    Dernier message: 15/01/2005, 18h58
  4. [Crystal Reports 9] comment insérer une image dans Détails
    Par VVE dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 22/10/2003, 17h06

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