une capture serait la bienvenue, c'est possible ?
Je vais voir ce que je peux faire ;)
Voilà c'est fait, je te rassure dans la réalité c'est mieux que sur l'image jpeg compressée -;)
Je ne peux mettre qu'une bonne note ! Bien joué, Ktb : Enfin quelqu'un qui va au bout de ses idées et qui sait ce que refléchir veut dire ! Cool
Merci ;)
Merci pour cette source, j'ai ramé pendant un jour pour arriver à tracer une flèche, et j'étais loin du compte ;-)
Bonjour, Je pense qu'il y a plus simple pour tracer une flèche..... et ça utiliser aussi les cours de trigo : il faut : trouver l'angle de la droite, et faire un léger décalage (avant et arrière)... voilà la source en Delphi : trés facilement compréhensible et adaptable en VB j'ai fait ça sur des évenement souris. procedure TForm1.FormMouseDown(Sender: TObject; Button: MouseButton; Shift: TShiftState; X, Y: Integer); begin // mémoriser le premier point x1 := X; y1 := Y; end; procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); var aX : double; // arc X : cosinus aY : double; // arc Y : Sinus begin X2 := X; Y2 := Y; // Pythagore : trouver le rayon r := Sqrt(sqr(X2 - X1) + sqr(Y2 - Y1)); if r > 0 then begin // trouver l'angle de la droite tracée à la souris ax := arccos((X1 - X2) / r); ay := arcsin((Y1 - Y2) / r); end else begin // éviter les erreur de division par zéro ax := -1; ay := -1; end; // tracer la ligne pointée avec la souris Form1.Canvas.MoveTo(X1, Y1); Form1.Canvas.LineTo(X2, Y2); // tracer la flèche Form1.Canvas.LineTo(trunc(X2 + cos(ax + 0.2) * 20), trunc(Y2 + sin(ay + 0.2) * 20)); Form1.Canvas.LineTo(trunc(X2 + cos(ax - 0.2) * 20), trunc(Y2 + sin(ay - 0.2) * 20)); Form1.Canvas.LineTo(X2, Y2); end; Pour arriver apparement au même résultat. 0.2 c'est l'écartement de la flèche 20 c'est la taille de la flèche.
salut ffert, votre code Delphi ci-haut m'a beaucoup aidé. Je ne peux pas avoir de votre part un autre code Delphi qui trace un rectangle rempli des lignes droites horizontales ? Merci Baron
Se souvenir du profil
Mot de passe oublié ? / Activation de compteCréer un compte
1 598 816 membres 81 nouveaux aujourd'hui 15 441 membres club