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++Builder Discussion :

Propriété Canvas dans un TPanel


Sujet :

C++Builder

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2006
    Messages : 134
    Par défaut Propriété Canvas dans un TPanel
    Bonjour,

    J'ai affiché ma webcam dans un TPanel. J'aimerais maintenant analyser cette image avec la propriété Canvas (si possible): mais cette propriété n'est pas disponible...

    Pouvez-vous m'aider?

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 190
    Par défaut
    Bonjour,
    En effet, TPanel ne rend pas accessible le canvas.
    Tu peux contourner le problème de la manière suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    HWND hwnd = Panel1->Handle;
    HDC hdc = GetDC( hwnd );
    TCanvas* Canvas = new TCanvas();
    Canvas->Handle = hdc;
    //Ton traitement
    Canvas->Free();
    ReleaseDC(hwnd, hdc);
    Cordialement,
    Benjamin

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2006
    Messages : 134
    Par défaut
    Merci, mais peux tu me dire comment utiliser ce code? Je n'y arrive pas... J'aimerais par exemple tester si des pixels sont noirs. Comment faire?

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 190
    Par défaut
    Bonsoir,
    Et bien, le reste n'est pas bien compliqué :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    HWND hwnd = Panel1->Handle;
    HDC hdc = GetDC( hwnd );
    TCanvas* Canvas = new TCanvas();
    Canvas->Handle = hdc;
    for(int i = 1; i<=Panel1->Width; i++){
      for(int j = 1; j<=Panel1->Height; j++){
        if (Canvas->Pixels[i][j] == clBlack)
          //Ton traitement si le pixel est noir
      }
    }
    Canvas->Free();
    ReleaseDC(hwnd, hdc);
    Ou encore mieux, car plus rapide, avec ScanLine. Mais là je te laisse faire les recherches, il y a de nombreux sujets sur developpez.com.

    Bon courage,
    Cordialement,
    Benjamin

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2006
    Messages : 134
    Par défaut
    Merci beaucoup pour ton aide!

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

Discussions similaires

  1. [DLL] Afficher le contenu d'une dll dans un Tpanel
    Par Fabs dans le forum Composants VCL
    Réponses: 4
    Dernier message: 17/08/2007, 14h30
  2. [Layout] Mettre un Canvas dans un GridBagLayout
    Par arnobidul dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 06/09/2005, 11h17
  3. affichage d'un plan issu d'une vidéo dans un tpanel
    Par gerardTar dans le forum C++Builder
    Réponses: 2
    Dernier message: 10/07/2005, 16h11
  4. [Plugin] Créer un Canvas dans un EditorPart
    Par Cyrion dans le forum Eclipse Platform
    Réponses: 1
    Dernier message: 07/04/2005, 15h31
  5. [ActiveX] Propriété "Picture" dans un contrôle util
    Par Ricou13 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 14/12/2002, 15h59

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