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 :

lier 2 Timage


Sujet :

C++Builder

Vue hybride

bhahmed lier 2 Timage 21/08/2006, 13h13
bandit boy Salut, Voici un petit... 21/08/2006, 13h40
bhahmed c'est ce que j'ai fais mais... 21/08/2006, 14h03
kaderscream tu veux connaitre les... 21/08/2006, 14h19
bhahmed je ne fixe pas les... 21/08/2006, 14h24
bhahmed il faut ajouté... 22/08/2006, 15h59
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de bhahmed
    Inscrit en
    Août 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Août 2006
    Messages : 84
    Par défaut lier 2 Timage
    j'ai 2 Timage (position variable) je veux les connecter par un arc.
    j'ai créé un paintbox car je crée les images sur un panel et j'ai couvert ce dernier par le paintbox et je l'ai mis en arrière plan.
    j'ai pas trouvé les coordonnés des timages pour pouvoir tracer une ligne à l'aide du canvas

    Merci pour votre aide précieuse

  2. #2
    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,
    Voici un petit exemple de ce que tu peux faire pour relier tes images.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
         TPoint points[3];
         points[0] = Point(Button1->Left+Button1->Width,Button1->Top);
         points[1] = Point((Button2->Left+(Button1->Left+Button1->Width))/2,Button1->Top/2);
         points[2] = Point(Button2->Left,Button2->Top);
         Form1->Canvas->Pen->Width = 2;
         Form1->Canvas->PolyBezier(points,3);
    Ici, j'ai relié deux boutons d'une form et j'ai travaillé avec le Canvas de la Form. C'est aussi simple et rapide. J'ai utilisé la méthode pour tracer une courbe de Bézier.
    3 points suffisent: les coins de tes images et un point intermédiaire et le tour et joué.

    Si la méthode te convien, à toi de remplacer les boutons pas des images

  3. #3
    Membre confirmé Avatar de bhahmed
    Inscrit en
    Août 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Août 2006
    Messages : 84
    Par défaut
    c'est ce que j'ai fais mais ça marche pour des images fixes dont on connait leur positiond'avance.
    mon problème mes images sont créées d'une manière dynamiques puis déplacées donc je ne connais pas leurs positions. :cry:

  4. #4
    Membre averti
    Inscrit en
    Août 2006
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 34
    Par défaut
    tu veux connaitre les coordonnée de ton image?

    Image1->Left (te donne la position de l'image horizontalement)
    Image1->Top (te donne la position de l'image verticalement)

    et tu peux au moment de la creation de ton image dynamiquement faire

    Image1->Left=valeur1;
    Image1->Top=valeur2;

    Comme ca tu placera ton image la ou tu veux

  5. #5
    Membre confirmé Avatar de bhahmed
    Inscrit en
    Août 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Août 2006
    Messages : 84
    Par défaut
    je ne fixe pas les coordonnées lors de la créations.
    l'utilisateur pourra déplacer l'images comme il veut.
    moi je dois récupérer les nouveaux coodonnées de mes images.
    en plus j'aimerai selectionner les deux images pour définir les point de départ et le point d'arrivée de l'arc.

  6. #6
    Membre averti
    Inscrit en
    Août 2006
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 34
    Par défaut
    ben je t'ai dis

    les proprietes Left et Top te donnent les coordonnées de ton image

  7. #7
    Membre confirmé Avatar de bhahmed
    Inscrit en
    Août 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Août 2006
    Messages : 84
    Par défaut
    il faut ajouté cette^procédure

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    void lier (void) {
    Form1->PaintBox1->Refresh();
    for (int i =0; i<eq; i++) {
            for (int j=0; j<eq;j++) {
                    if (link [i][j] >=1) {
                            Form1->PaintBox1->Canvas->Pen->Width = link [i][j];
                            Form1->PaintBox1->Canvas->MoveTo(Image[i]->Left+Image[i]->Width/2,Image[i]->Top+Image[i]->Height/2 );
                            Form1->PaintBox1->Canvas->LineTo(Image[j]->Left+Image[j]->Width/2,Image[j]->Top+Image[j]->Height/2 );
     
                     }
            }
    }
    }
    puis faire l'appel danns le mouseup comme suit :

    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
    void __fastcall TForm1::Image1MouseUp(TObject *Sender, TMouseButton Button,
          TShiftState Shift, int X, int Y)
    {
    TImage *Image = (TImage*)Sender;
    if (imageDownButton == 0) {
            MoveFlag = false;
            lier();
            Application->ProcessMessages();
    } else {
            link [chosenVehicule][Image->Tag] = 1;
            link [Image->Tag][chosenVehicule] = 1;
            lier();
    }
     
    }

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

Discussions similaires

  1. Timage et Canvas??
    Par vanack dans le forum C++Builder
    Réponses: 4
    Dernier message: 14/04/2007, 11h38
  2. [TImage] Transfert de Picture par pixels.
    Par H2D dans le forum Langage
    Réponses: 9
    Dernier message: 25/10/2003, 14h37
  3. vider un timage
    Par gIch dans le forum Composants VCL
    Réponses: 2
    Dernier message: 23/08/2002, 23h58
  4. TImage
    Par Thylia dans le forum C++Builder
    Réponses: 5
    Dernier message: 09/07/2002, 20h03
  5. Création dynamique de TImages
    Par Dric dans le forum C++Builder
    Réponses: 10
    Dernier message: 08/07/2002, 12h36

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