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 :

Tracer des lignes ,arcs de cercle et cercle


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 31
    Par défaut Tracer des lignes ,arcs de cercle et cercle
    Bonjour à tous,

    J'ai un peu regardé les guides de PaintBox etc, mais je pense que ce que je cherche n'y figure pas.

    Voici mon probleme :

    Je voudrais avoir une PaintBox (ou n'importe quel autre objet me permettant de dessiner), pour pouvoir y tracer des cercles, des lignes ou des arcs de cercle, et ensuite récupérer les coordonnées, j'ai bien vu qu'on pouvait un peu tracer tout ça en donnant des coordonnées, mais je voudrais plutôt l'inverse

    Y'aurait il des outils tout prêts pour faire ça ? (c'est beau de rêver)
    Ou alors, vers quelle piste dois je m'orienter.

    Je vous remercie d'avance!

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 407
    Par défaut
    Salut !

    Donc il s’agirait d’avantage d’analyser une image que de la dessiner ?
    Ou est-ce la récupération (ou mémorisation) des paramètres qui pose problème dans un contexte de dessin à main levé ?

    A plus !

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 31
    Par défaut
    Ah si je voudrais dessiner la figure, mais je n'ai pas trouvé d'outil adéquat. Je pensais que ca existait mais apparamment non.

    Par exemple on aurait le choix entre dessiner une ligne, un arc de cercle, un cercle et ensuite à l'aide de clics sur la PaintBox elle serait dessinée.

    J'espère avoir été clair ? (en gros, cela ferait comme dans Paint, mais avec Borland).

  4. #4
    Membre éclairé Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    934
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 934
    Par défaut
    il te suffit de jouer avec la souris.

    Tu est capable de récupérer la position de ta souris sur ta PaintBox.
    tu peux également détecter quand celle-ci se déplace avec ou sans bouton enfoncé.

    Il te suffit donc en fonction de la forme que tu veut réaliser, de mémoriser certains paramètres.

    Par exemple

    lorsque tu veux tracer :
    - un cercle, tu mémorise le centre et le rayon de ton cercle.
    - une ligne, le point de départ et d'arrivée
    - un arc, le point de départ, le point d'arrivée, le centre du cercle sur lequel se trouve ton arc et le rayon de ce cercle.
    - un carré (faut mieu le gérer en rectangle question de pratique) : le coin supérieur gauche, la hauteur et la largeur.

    Mais tu va être obligé de gérer cela toi-même

    J'espère avoir été clair

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 31
    Par défaut
    Je pense que tu as été assez clair, je vais donc créer à côté de ma PaintBox des boutons désignant l'objet à dessiner, et en fonction de ça et des clics cela me dessinera les objets désirés.

    Je vais essayer ça, cela m'a l'air d'être la solution la plus viable.

    Je mettrai en ligne un fichier avec tout le bazar une fois que c'est fini, et je laisse la discussion ouverte au cas où quelqu'un aurait déjà fait la même chose, merci pour vos contributions !

  6. #6
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 407
    Par défaut
    Salut !

    Il suffit d'organiser les événements pour la saisie de manière à ce que :
    - OnMouseDown place un point, par exemple :
    Pour un segment c'est le premier point
    Pour une rectangle c'est l'un des sommets
    Pour le cercle c'est le centre
    ...
    - OnMouseMove dilate la figure, par exemple :
    Pour un segment c'est le deuxième point
    Pour un rectangle c'est le sommet opposé
    Pour le cercle c'est le rayon (ou autre)
    ...
    - OnMouseUp termine l'opération

    On a intérêt à modéliser ces figures à l'aide de classes dédiées, en partant d'une classe de base (c'est ce que je pense !).
    On peut ainsi mettre en place de nombreux mécanismes comme la sélection, les poignées de contrôle autorisant, par exemple, la modification de la taille, de la position etc...

    On peut aussi travailler avec des figures dotées d'une taille par défaut que l'on modifie ensuite à l'aide des poignées de contrôle.

    A plus !

Discussions similaires

  1. Pages de garde : tracer des lignes, inclure un graphe, ...
    Par vinzzzz dans le forum Mise en forme
    Réponses: 6
    Dernier message: 24/05/2007, 12h07
  2. Réponses: 6
    Dernier message: 27/04/2007, 22h50
  3. Réponses: 9
    Dernier message: 26/03/2007, 16h58
  4. Tracer des lignes séléctionnables
    Par koolkris dans le forum Langage
    Réponses: 3
    Dernier message: 02/02/2006, 10h12
  5. Recherche de composant pour tracer des lignes
    Par n1portki dans le forum Composants VCL
    Réponses: 5
    Dernier message: 21/09/2005, 01h44

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