Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Tracer un cercle plein (un disque quoi) [ Archives Visual Basic / J'AI BESOIN D'AIDE !!!! :) ] (plhea)

samedi 24 septembre 2005 à 22:58:37 | Tracer un cercle plein (un disque quoi)

plhea

bonjour j'ai un petit problème il faut que je trace un disque et non pas un cercle c'est à dire un cercle plein :)
est ce qu'on est obligé de procéder comme ça :

For i = 1 To Rayon
Circle (20, 20), i, vbRed
Next i

je n'ai rien contre ça mais c'est incroyablement lent...
avez vous mieux?
plhea

dimanche 25 septembre 2005 à 00:54:46 | Re : Tracer un cercle plein (un disque quoi)

Willi

Membre Club Administrateur CodeS-SourceS

un disque ou un cercle je ne comprend pas c'est confus pour moi
enfin teste cela colle le code dans une feuille
pour tester click droit de la souris en déplacant celle-ci pour tracer le cercle

Option Explicit

Private m_Dragging As Boolean
Private X1 As Single
Private Y1 As Single
Private X2 As Single
Private Y2 As Single

Private Sub DrawCircle()
Dim cx As Single
Dim cy As Single
Dim dx As Single
Dim dy As Single
Dim radius As Single

cx = X1
cy = Y1
dx = X1 - X2
dy = Y1 - Y2

radius = Sqr(dx * dx + dy * dy)
    Circle (cx, cy), radius
End Sub

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    m_Dragging = True

    DrawMode = vbInvert

    X1 = X
    Y1 = Y
    X2 = X
    Y2 = Y

    DrawCircle
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If Not m_Dragging Then Exit Sub

    DrawCircle

    X2 = X
    Y2 = Y

    ' Draw the new circle.
    DrawCircle
End Sub

Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    m_Dragging = False

    DrawMode = vbCopyPen
    ForeColor = vbRed
    DrawCircle
    ForeColor = vbBlack
End Sub


 Si la réponse te conviens merci de l'accepter 


dimanche 25 septembre 2005 à 00:56:22 | Re : Tracer un cercle plein (un disque quoi)

Willi

Membre Club Administrateur CodeS-SourceS
Sinon pourquoi n'utilises-tu pas l'objet Shape de vb6 ??


 Si la réponse te conviens merci de l'accepter 


dimanche 25 septembre 2005 à 01:04:39 | Re : Tracer un cercle plein (un disque quoi)

P__ROMEO

Réponse acceptée !

j'ai autre chose plus simple.
copie et cole. en cliquant avec le bouton gauche de la souris sur ta feuille, le disque se crée:


'---- Click sur la feuille
Private Sub Form_Click()
Dim XCentre, YCentre, Rayon As Integer

'---- Attributs
    ForeColor = vbRed           'Rouge  (contour)
   FillColor = vbYellow        'Jaune (intérieure)
    FillStyle = vbFSSolid       'Plein
    DrawWidth = 5

'---- Calcule centre et rayon
    XCentre = ScaleWidth / 2
    YCentre = ScaleHeight / 2
    If XCentre > YCentre Then
        Rayon = XCentre
    Else
        Rayon = YCentre
    End If

'---- Trace le cercle
    Circle (XCentre, YCentre), Rayon, , , , YCentre / XCentre
End Sub


dimanche 25 septembre 2005 à 01:11:34 | Re : Tracer un cercle plein (un disque quoi)

P__ROMEO

Willi, ton code est intéressant, je l'ai ajouté à ma liste de code, mais, le cercle créé n'est pas plein.
quelques lignes de codes en plus feront l'affaire.
A+


dimanche 25 septembre 2005 à 01:14:21 | Re : Tracer un cercle plein (un disque quoi)

Willi

Membre Club Administrateur CodeS-SourceS
Oui mais c'est que j'avais pas trop pigé le sens "je trace un disque et non pas un cercle c'est à dire un cercle plein"
Je vais essayer ton code de suite sa ne peut etre que interessant


 Si la réponse te conviens merci de l'accepter 


dimanche 25 septembre 2005 à 01:15:42 | Re : Tracer un cercle plein (un disque quoi)

Willi

Membre Club Administrateur CodeS-SourceS
marche impeccable ton code sympa


 Si la réponse te conviens merci de l'accepter 


dimanche 25 septembre 2005 à 10:44:36 | Re : Tracer un cercle plein (un disque quoi)

plhea

Réponse acceptée !

waouuuuu c'est parfait romeo!!
exactement ce que je cherchais c'est hyper rapide!
une petite modification quand même pour avoir un disque simple avec une seule couleur...

Private Sub Form_Click()
Dim xCentre, yCentre, rayon As Integer

    ForeColor = vbRed
   FillColor = vbRed
   FillStyle = vbFSSolid

Form1.ScaleHeight = 100 'optionnel
Form1.ScaleWidth = 100
    xCentre = 50
    yCentre = 20
rayon = 10


    Circle (xCentre, yCentre), rayon


End Sub


ici on à un disque et infiniment plus rapidement qu'avec la méthode que j'avais proposée au début
merci beaucoup romeo mes problèmes sont résolus

plhea


dimanche 25 septembre 2005 à 14:16:27 | Re : Tracer un cercle plein (un disque quoi)

P__ROMEO

Ce n'est rien. tout le plaisir pour moi.
et, en passant, copies la fonction de Willi, elle peut te servir. (comme ca tu n'auras pas à chercher le jour ou tu
la voudra.)

A+




Cette discussion est classé dans : disque, tracer, cercle


Répondre à ce message

Sujets en rapport avec ce message

Comment tracer un arc de cercle sans API [ par JNY_LA_FLECHE ] SalutSavez vous comment tracer un arc de cercle sans API ?Ca serait sympa de m'aider.Jny tracer un cercle et enregistrer les coordonnées dans un fichier txt : [ par Lind ] alors j'aimerais tracer un cercle (on m'a donner en gros ce qu'il fallait faire :1-circle (X,Y), R2-déclarer 2 fonctionx(t)=r*cos(t)y(t)=r*sin(t)mais Arc de cercle avec deux points et le centre [ par benbedo ] Bonjour, juste une question graphique de base, comment faire pour tracer un arc de cercle à partir des deux point extrêmes et du centre du cercle, sac Tracer un arc de cercle sous excel??? [ par fredieuric ] Bonjour,J'essaye (en vain!!!) de tracer un arc de cercle sous Excel...J'ai bien trouvé un moyen avec:With Shapes.AddShape(msoShapeArc, 10, 10,20 ,30 ) tracer demi cercle graphique excel VBA [ par chevalier78 ] Bonjour voilà je voudrai créer un graphique  dont je positionne sur l'abscisse deux points  qui constituent mon diametre du demi cercle que je veux tr probleme pour le lancement d'un utilitaire DL sur code source (comment l'ouvrire ??) [ par graffity ] Bonjourj'ai acheter un porte clef photo numérique et l'ayant reçût hier j'ai voulu le tester avant de parcourir un disque dur a distant vb6 [ par morocanland ] bonjoursvp comment je pe parcourir ub disque dur a distant a l'aide de vb6merci d'avance comment mapper un disque en VB avec user-id et password [ par cslt ] Bonjour à toutes et à tous,J'aimerai connecter un disque du genre \\123.456.789.123\photos nécessitant user-id et password puis après traitement le dé


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,780 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.