|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Inscription : février 2007 Messages : 41 ![]() |
Bonjour
J’utilise la classe clGDIplus avec access 2007 et le code suivant pour tracer une spline cardinale oGdi. DrawCardinal Array(gX(0), gY(0), gX(1), gY(1), gX(2), gY(2), gX(3), gY(3) etc...),0.5 les gX() et gY() sont les coordonnées X et Y de la souris au moment de l’événement mouse_down. Comment puis-je ajouter un gx et un gy à chaque clic de souris afin de pouvoir tracer une spline cardinale continue en fonction du nombre de fois que je clique sur l’image. Je pense que je dois faire un tableau dynamique et utiliser une boucle, mais je patauge allégrement dans la déclaration des variables et du code etc. Merci d'avance |
|
|
00
|
|
|
#2 | ||||
![]() ![]() Inscription : septembre 2003 Messages : 4 300 ![]() |
bjr,
en fait pour résumer, si je comprend bien, le problème est l'alimentation d'un tableau dynamique avec les positions des clics de souris à plat (X1,Y1,X2,Y2, X3,Y3,...) donc voici une utilisation de tableau dynamique : en en-tête de module du formulaire : Code :
Code :
on peut faire sans, mais c'est un peu plus galère et il suffit de mettre NbPoints = zéro pour repartir sur un nouveau tableau
__________________
Assistant de création/modification de rubans Office Utilisez en VBA les librairies graphiques GDI, GDI+ et openGL Blog Office Mon Site DVP |
||||
|
|
00
|
|
|
#3 |
|
Candidat au titre de Membre du Club
![]() Inscription : février 2007 Messages : 41 ![]() |
rebjr
Ok mais dans mon code oGdi. DrawCardinal etc..., j'en fait quoi du tableau. Désole, mais c'est moins évident que les bases de données Merci de m'accorder tant de temps. |
|
|
00
|
|
|
#4 | |
![]() ![]() Inscription : septembre 2003 Messages : 4 300 ![]() |
Citation:
derrière ça devrait comprendre
__________________
Assistant de création/modification de rubans Office Utilisez en VBA les librairies graphiques GDI, GDI+ et openGL Blog Office Mon Site DVP |
|
|
|
00
|
|
|
#5 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : février 2007 Messages : 41 ![]() |
bonjour
J'ai entre le code suivant Code :
pour faire une spline, je voudrais que chaque clic s'ajoute dans le tableau pour pouvoir la tracer en continu. C'est vraiment pas clair pour moi. |
||
|
|
00
|
|
|
#6 | |
![]() ![]() Inscription : septembre 2003 Messages : 4 300 ![]() |
Citation:
il manquait un *2 dans mon code il faut bien réfléchir avec de se lancer qu'est-ce-qui déclenche le début d'une courbe? et sa fin? si je ne m'abuse, le début de la courbe va être un peu différente à chaque point ajouté il faudrait peut-être repartir de l'image sans la courbe à chaque fois imgae sans la courbe qui serait définie au moment du début de la courbe avec un KeepImage, puis rechargée avant dessin de la courbe avec ResetImage d'où ma question sur les évenements de début et fin de courbe
__________________
Assistant de création/modification de rubans Office Utilisez en VBA les librairies graphiques GDI, GDI+ et openGL Blog Office Mon Site DVP |
|
|
|
00
|
|
|
#7 | ||
![]() ![]() Inscription : septembre 2003 Messages : 4 300 ![]() |
et en plus il manquait un Preserve sur le Redim
Redim en profite pour remettre toutes les valeurs à zéro si on ne met pas le préserve un exemple : Code :
le clic droit remet les points à zéro note le KeepImage au début et à chaque clic droit et le ResetImage avant de dessiner la courbe le plus dur c'est d'intégrer tout ça dans une appli qui fait déjà d'autres choses...
__________________
Assistant de création/modification de rubans Office Utilisez en VBA les librairies graphiques GDI, GDI+ et openGL Blog Office Mon Site DVP |
||
|
|
00
|
|
|
#8 |
|
Candidat au titre de Membre du Club
![]() Inscription : février 2007 Messages : 41 ![]() |
bjr thierry
En fait, je voudrais realiser ce que l'on fait avec le bouton courbe de word. C.a.d. Un mouse_down sur mon image0 donne le point de départ de la spline. Chaque mouse_move dessine la courbe. Chaque nouveau mouse_down sera un point de changement de direction qui permettra de redessiner la courbe après chaque resetImage. Enfin, un double_click arrêtera le tracé.(Le formatage et la flèche en bout, je sais faire). peut être pourait-on attribuer une valeur par défaut égale au dernier mouse_down pour les points non défini(Ceux que tu dis qu'ils prendront la valeur (0.0))? Enfin voila, si ça t'inspire. De toute façon encore une fois merci pour tes conseils. |
|
|
00
|
|
|
#9 | ||
![]() ![]() Inscription : septembre 2003 Messages : 4 300 ![]() |
ben c'est un peu ce que j'avais commencé à faire, sauf qu'il faut stopper sur double-clic
et tu peux si tu veux ajouter un peu de code sur MouseMove pour qu'on voit la courbe en cours de construction suivre la souris idée de code : Code :
__________________
Assistant de création/modification de rubans Office Utilisez en VBA les librairies graphiques GDI, GDI+ et openGL Blog Office Mon Site DVP |
||
|
|
00
|
|
|
#10 |
|
Candidat au titre de Membre du Club
![]() Inscription : février 2007 Messages : 41 ![]() |
Rebjr
Ok, ça marche . 1 seul petit problème. Il faut cliquer 2 fois avant de dessiner. Je l'ai résolu en répétant 2 fois le code du mouse_down si nbpoints = 0. c'est du travail de bricoleur, mais ça marcheA plus |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com