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 :

[GDI+] superpositionn d'une grille sur l'image


Sujet :

C#

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 55
    Points : 49
    Points
    49
    Par défaut [GDI+] superpositionn d'une grille sur l'image
    Bonjour,
    Je ne sais pas si ce sujet aurait plus sa place dans le forum API Multimedia...

    Je cherche à superposer une grille au dessus d'une image, en GDI+.

    Ma première version de ce code utilise un ensemble de lignes dont les caractéristiques sont calculées par avance, et déssinnées dans l'évènement paint de la picturebox contenant l'image.

    voici en gros ce que ça donne en c#:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    // mon type ligne
    public class Line2D
    {
        public Point    StartPoint;
        public Point    EndPoint;
        public Pen      Pen;
    }

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    // Dans l'évènement paint d'une PictureBox
    {    
        e.Graphics.DrawImage(...);
     
        foreach (Line2D line in m_Grid.GridLines)
        {
            e.Graphics.DrawLine(line.Pen, line.StartPoint, line.EndPoint);
        }
    }
    Le problème c'est que c'est très lent.
    (Cet évènement paint est déclenché souvent, car l'image sous la grille est une frame vidéo)

    Je cherche donc une méthode plus rapide pour superposer cette grille :

    Calculer l'ensemble de la grille et la poser d'un coup ? (je ne crois pas que se soit possible avec GDI+...)
    Avoir un png transparent de la grille qui viendrait par dessus la vraie image. (Je ne sais pas si c'est possible...)


    Merci pour vos idées

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Points : 1 521
    Points
    1 521
    Par défaut
    Bonjour,

    Pourquoi ne pas récupérer l'objet Bitmap contenu dans la PictureBox et y mettre la grille une bonne fois pour toute ?

  3. #3
    Membre confirmé Avatar de zulad
    Homme Profil pro
    creatif
    Inscrit en
    Juin 2007
    Messages
    713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : creatif

    Informations forums :
    Inscription : Juin 2007
    Messages : 713
    Points : 519
    Points
    519
    Par défaut
    Avoir un png transparent de la grille qui viendrait par dessus la vraie image. (Je ne sais pas si c'est possible...)
    ... tu superpose deux picture box avec ton png par dessus.
    Aucun de nous n'est seul, Même l'air que nous expirons est inspirés par d'autres...

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 55
    Points : 49
    Points
    49
    Par défaut
    Merci pour vos réponses

    Citation Envoyé par Kaidan Voir le message
    Bonjour,

    Pourquoi ne pas récupérer l'objet Bitmap contenu dans la PictureBox et y mettre la grille une bonne fois pour toute ?
    Je souhaite que l'opération soit réversible, et je ne peut me permettre de conserver l'original de chaque image pour pouvoir désactiver l'affichage de la grille à la demande...

    D'autre part je veux me garder la possibilité de peut-être pouvoir changer la taille de la grille à la demande...

    Citation Envoyé par zulad
    tu superpose deux picture box avec ton png par dessus.
    Je ne sais pas comment rendre transparente la PictureBox de la grille. Le .png l'est, mais je ne crois pas qu'on puisse avoir des contrôles qui se voient les uns à travers les autres (?)

    edit: Ok, en positionnant BackColor à transparent et en faisant en sorte que la PictureBox du dessous soit 'parent' de celle du dessus, ça marche nickel.
    Je vais donc explorer cette possibilité.

    Merci !

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

Discussions similaires

  1. Définir une grille sur une image
    Par code_source dans le forum Images
    Réponses: 7
    Dernier message: 30/07/2021, 11h24
  2. Recuperer une valeur dans une grille sur une image
    Par gwal21 dans le forum Images
    Réponses: 3
    Dernier message: 26/02/2011, 23h41
  3. Afficher une grille sur un objet axes
    Par ptit-nico dans le forum Interfaces Graphiques
    Réponses: 4
    Dernier message: 10/07/2008, 10h00
  4. Copier une figure sur plusieurs images
    Par pwfsic dans le forum Interfaces Graphiques
    Réponses: 5
    Dernier message: 18/06/2007, 15h02
  5. [Java3D] Afficher une grille sur le plan
    Par akito dans le forum 3D
    Réponses: 5
    Dernier message: 23/03/2007, 17h30

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