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

VB 6 et antérieur Discussion :

[VB6] [Graphisme] Arc de cercle dans un picturebox


Sujet :

VB 6 et antérieur

  1. #1
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 658
    Points
    66 658
    Billets dans le blog
    1
    Par défaut [VB6] [Graphisme] Arc de cercle dans un picturebox
    Tout est dans le titre...
    Et comme je ne suis pas énarque (de cercle ...)

    Je cherche a dessiner un arc de cercle dans un picturebox il ne semble pas y avoir de shape arce de cercle, le shape cercle ne me convient pas car je cherche à afficher soit pi/4 ou bien pi/8 ....
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  2. #2
    Membre du Club
    Inscrit en
    Mai 2002
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 54
    Points : 64
    Points
    64
    Par défaut
    Salut,

    Le plus simple est d'utiliser la méthode Circle.
    Comme ceci, par exemple :

    Picture1.Circle (CentreX, CentreY), Rayon, Couleur, PI, PI/2, 1

    NB : Si tes angles de départ et d'arrivée sont des valeurs négatives, tu obtiens une part de camembert.
    Tu peux également jouer sur le dernier paramètre (1 dans l'exemple) pour obtenir une ellipse.


    A+
    HCath

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 658
    Points
    66 658
    Billets dans le blog
    1
    Par défaut
    Oki HCATH, je vois le principe, cela peut me donner le tracé de la courbe, j'aurais également besoin de tracer l'arc ...
    je m'explique, je simule un coude avec des parties droites, au lieu d'avoir un arc de cerlce parfait, j'aurais besoin de tracer le même arc de cercle mais avec des parties droites :

    LgArc = 2 * Tan(alpha) * Rayon + fleche
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 658
    Points
    66 658
    Billets dans le blog
    1
    Par défaut
    Autre précision, comment gérer l'orientation de l'arc de cercle car il y a en fait 4 position possible pour mon quart de cercle :

    en rapportant au cadran d'une horloge ...
    de midi à 3 heures
    de 3 heures à six heures
    de si à neuf
    et de neufà 12

    je n'ai pas saisi tous les paramètres du cercle ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre averti
    Avatar de Rami
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 177
    Points : 330
    Points
    330
    Par défaut
    si je me rappel bien:

    argument 5 : angle de début de tracé
    argument 6 : angle de fin de tracé

    donc ...0,pi/2,... donne 12h/3h

    il me semble.
    Ex Moderateur .Net

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 658
    Points
    66 658
    Billets dans le blog
    1
    Par défaut

    merci pour l'explication des params...

    bon admettons que j'ai réussi à tracer un quart de cercle, je veux maintenant tarcer les cordes des arcs de cet arc divisé en trois secteurs égaux ...
    c'est a dire relier par un trait:
    12 heures à 1 heure
    1 heure à deux heures
    deux heures à trois heures
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  7. #7
    Membre du Club
    Inscrit en
    Mai 2002
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 54
    Points : 64
    Points
    64
    Par défaut
    Re,

    Pour tracer les cordes des arcs, ce n'est pas très facile avec la méthode Circle car tu dois calculer les Sinus et Cosinus des points de départ et d'arrivée des arcs pour pouvoir tracer ta ligne.

    Il y a plus simple avec l'API Chord qui dessine à la fois l'arc et la corde :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Declare Function Chord Lib "gdi32" Alias "Chord" (ByVal hdc As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long, ByVal X3 As Long, ByVal Y3 As Long, ByVal X4 As Long, ByVal Y4 As Long) As Long
    Les points X1, Y1, X2 et Y2 sont les coordonnées du carré (ou du rectangle) dans lequel est inscrit le cercle (ou l'ellipse).
    Les points X3,Y3, X4 et Y4 déterminent la corde.

    Comme toutes les API graphiques, Chord ne travaille qu'en pixels, donc Picture1.ScaleMode = vbPixels avant de dessiner.


    A+
    HCath

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 658
    Points
    66 658
    Billets dans le blog
    1
    Par défaut
    Je préfère avec la méthode circle car j'ai moyen de calculer plus facilement les angles des points de départ et d'arrivée des arcs plutot que les rectangles dans lesquels il s'inscrivent ...

    J'ai peur qu'avec la methode Chord j'ai du mal à juxtaposer les rectangles ...

    Merci de tes lumières HCATH !
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  9. #9
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 658
    Points
    66 658
    Billets dans le blog
    1
    Par défaut
    Parcontre si tu pouvais me préciser comment rejoindre les points ???
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  10. #10
    Membre averti
    Avatar de Rami
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 177
    Points : 330
    Points
    330
    Par défaut
    en premiere approche et faute de mieux:

    line X1,Y1,X2,Y2

    X1=Xcentre+R*cos(angle1) Y1=....

    puis:
    line X2,Y2,X3,Y3...

    y a surement mieux à faire mais bon...
    Ex Moderateur .Net

  11. #11
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 658
    Points
    66 658
    Billets dans le blog
    1
    Par défaut
    oki c'était la sainte axe du line qui me faisait défaut...

    pour les coordonnées x1,y1,x2,y2 je m'en arrange

    Merci Rami !

    Et sur ce bonne soirée à tous !
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  12. #12
    Membre averti
    Avatar de Rami
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 177
    Points : 330
    Points
    330
    Par défaut
    justement en relisant j'ai vue une erreur de ste Axe:

    x1,y1 - X2,Y2

    de memoire, il y a un "-", presque sur...

    les parentheses je sais plus...

    vérification faites, je crois qu'il faut des parenthèses:

    (x1,y1)-(x2,y2)

    désolé pour toutes ces approximations
    Ex Moderateur .Net

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

Discussions similaires

  1. [Débutant] VB Net effacer un cercle dans un picturebox
    Par Whombat dans le forum VB.NET
    Réponses: 11
    Dernier message: 17/11/2011, 10h35
  2. VB6] imprimer le texte afficher dans une picturebox
    Par Persons dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 27/08/2004, 11h15
  3. [VB6] [Graphisme] Inversion dans picturebox
    Par tomnie dans le forum VB 6 et antérieur
    Réponses: 23
    Dernier message: 16/04/2003, 15h05
  4. [VB6] [Graphisme] Image de fond stretchable dans mdiform
    Par SpaceFrog dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 17/02/2003, 10h45
  5. [VB6] [Graphisme] Tracer un cercle avec pset
    Par bleuerouge dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 09/12/2002, 17h12

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