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 :

Probleme avec un TAnimate


Sujet :

C++Builder

  1. #1
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut Probleme avec un TAnimate
    Bonsoir.
    J'utilise un TAnimate pour visualiser l'image d'une WebCam le programme fonctionne parfaitement maintenant j'aimerais tester l'acquisition d'images sur un telescope, je souhaiterais avoir sur le TAnimate un viseur pour me permettre de pointer un objet mais a chaque fois que j'essais de deposer un composant il passe sous le TAnimate, je pensais mettre un TImage avec le dessin du viseur en mode transparant, comment le mettre au premier plan?

  2. #2
    Membre émérite
    Avatar de Interruption13h
    Inscrit en
    Août 2005
    Messages
    603
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 603
    Par défaut
    Salut !

    Solution de bricolage :

    Mettre un TStaticText avec une caption= "+"

    A+

  3. #3
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    Merci Interruption13h.
    Cela aurait pu etre une solution le TStaticText reste bien au premier plan mais il n'y a pas de transparence donc l'image du TAnimate n'apparait pas

  4. #4
    Membre émérite
    Avatar de bandit boy
    Profil pro
    Inscrit en
    Février 2006
    Messages
    916
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 916
    Par défaut
    Salut,
    As tu essayé ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Image1->BringToFront();

  5. #5
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    Salut bandit boy.
    J'ai essaye ceci en le mettant dans un clickbutton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if (!Image2->Visible)
      {
    Image2->Visible = true;
    Image2->BringToFront();
    }
    Mais le TImage reste derriere le TAnimate.
    Il y aurait une possibilite c'est en remplacant le TAnimate par un TImage, mais le TImage n'a pas de Handle, et je ne sais pas comment recuperer si c'est possible ce Handle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    //Lier le handle à l'animate.
       Handle = Animate1->Handle;
    //Créer une capture video de 640*480.
       Handle = capCreateCaptureWindow( NULL, WS_CHILD|WS_VISIBLE,
                                            0, 0, 640, 480, Handle, 0);

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2006
    Messages : 12
    Par défaut
    Salut,

    j'ai fait un programe un peu identique au tien. Pour faire le viseur j'ai utilisé la solution bricolage de mettre deux panels l'un sur l'autre en croix.

    De plus je crois qu'il existe des fonctions pour leur donner des formes particulières si tu veux avoir un viseur un peu mieux qu'un simple +.

  7. #7
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    Merci pour ta reponse swissbaboon:
    Je repond tardivement car j'ai eut des problemes de navigateurs, j'ai vu sur le Web qu'il etait possible d'avoir d'avoir un dessin sur une video, mais avec mes soucis de navigateur je n'arrive plus a retrouver le lien. J'aimerais trouver une solution propre pour avoir exactement ce que l'on veut comme Viseur.

  8. #8
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    J'ai peut etre un debut de solution a mon probleme, si je place une Form avec le mode transparent au dessus de mon TAnimate et en dessinant sur le Canvas de la Form ca marchera peut etre.

  9. #9
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    Alors voila l'essai que j'ai fait, il faut jouer avec la transparence ce qui donne une image un peut floue, donc apres pointage j'efface le viseur.
    Le code Form1:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    //---------------------------------------------------------------------------
    #include <vcl.h>
    #pragma hdrstop
    #include "Unit1.h"
    #include "Unit2.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm1 *Form1;
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
            : TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    Form2->BringToFront();
    Form2->BorderStyle = bsNone;
    Form2->Visible = true;
    Form2->AlphaBlend = true;
    Form2->AlphaBlendValue = 150;
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button2Click(TObject *Sender)
    {
    Form2->Visible = false;
    }
    Le code Form2:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    //---------------------------------------------------------------------------
    #include <vcl.h>
    #pragma hdrstop
    #include "Unit2.h"
    #include "Unit1.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm2 *Form2;
    //---------------------------------------------------------------------------
    __fastcall TForm2::TForm2(TComponent* Owner)
            : TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm2::FormCreate(TObject *Sender)
    {
    Form2->Image1->Canvas->Pen->Width = 3;
    Form2->Image1->Canvas->Pen->Color = clWhite;
    // Horizontal
    Form2->Image1->Canvas->MoveTo(0 ,103);
    Form2->Image1->Canvas->LineTo(110, 103);
    Form2->Image1->Canvas->MoveTo(124 ,103);
    Form2->Image1->Canvas->LineTo(234, 103);
    // Vertical
    Form2->Image1->Canvas->MoveTo(117 ,0);
    Form2->Image1->Canvas->LineTo(117, 96);
    Form2->Image1->Canvas->MoveTo(117 ,110);
    Form2->Image1->Canvas->LineTo(117, 206);
    }
    Si quelqu'un a une meilleur idee ou une amelioration je suis preneur.

  10. #10
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    En jouant avec la couleur de la Form la Transparence et la couleur de la transparence c'est un peu meilleur.
    le code ajoute
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Form2->Color = clWhite;
    Form2->TransparentColor = true;
    Form2->TransparentColorValue = clWhite;

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

Discussions similaires

  1. Probleme avec la copie des surfaces
    Par Black_Daimond dans le forum DirectX
    Réponses: 3
    Dernier message: 09/01/2003, 10h33
  2. Problèmes avec le filtrage des ip
    Par berry dans le forum Réseau
    Réponses: 9
    Dernier message: 30/12/2002, 07h51
  3. probleme avec la touche F10
    Par b.grellee dans le forum Langage
    Réponses: 2
    Dernier message: 15/09/2002, 22h04
  4. Probleme avec fseek
    Par Bjorn dans le forum C
    Réponses: 5
    Dernier message: 04/08/2002, 07h17
  5. [Kylix] probleme avec un imagelist
    Par NicoLinux dans le forum EDI
    Réponses: 4
    Dernier message: 08/06/2002, 23h06

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