Tracage picturebox

senpiet Messages postés 15 Date d'inscription mercredi 10 septembre 2003 Statut Membre Dernière intervention 10 mars 2005 - 8 avril 2004 à 11:13
senpiet Messages postés 15 Date d'inscription mercredi 10 septembre 2003 Statut Membre Dernière intervention 10 mars 2005 - 8 avril 2004 à 12:57
Salut à tous,

Lorsque j'essaie de tracer le parcours d'un stylet (sur une tablette graphique) dans un picturebox (je reçois des coordonnées de points toutes les 5ms --> je trace des lignes entre deux points successifs, l'image est assez bonne), le tracé est très ralenti (la forme se dessine en retard... très lentement par rapport au mouvement d'origine).

J'ai remarqué que je n'ai pas ce problème si je place le pointeur de la souris SUR le picturebox.
En fait, j'ai un bouton en dehors du picturebox. Si je clique dessus (pour activer le mode TRACAGE) et que je ne touche plus à la souris pour prendre le stylet de la tablette pour tracer, la souris reste sur le bouton et le tracé est lent. Je dois donc cliquer, déplacer la souris sur le picturebox, prendre le stylet et tracer... ce qui est franchement pas top !

Quelqu'un a-t-il une idée de solution ? Pour le moment, tout ce que j'ai trouvé, c'est de déplacer automatiquement la souris sur le picturebox après le click. J'ai essayé de cacher la souris avec ShowCursor mais, je ne sais pas piurquoi, le cursor ne se cache pas du tout !!! Bref, je suis dans la choucroute.

Merci à tous.

4 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
8 avril 2004 à 12:28
Comment reçois-tu les coordonnées du stylet ? Et n'y'aurait-il pas un écrat plus grand de 5 ms entre le temps de la capture et le temps de récupération ?
Sinon, quelle fonction utilise-tu pour tracer tes lignes ? Je te conseille de passer par les fonctions API qui sont bien plus performantes que les fonctions VB pour le graphisme !

Sinon, la fonction ShowCursor marche parfois, et parfois, ne marche pas... va savoir pourquoi !

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
0
senpiet Messages postés 15 Date d'inscription mercredi 10 septembre 2003 Statut Membre Dernière intervention 10 mars 2005
8 avril 2004 à 12:33
Salut,

Je reçois les coordonnées via l'API Wintab.dll. En effet, je pourrais changer le temps entre deux réceptions. Le seul problème est que je dois garder ce débit maximal car je fais de la reconnaissance de caractères. Si je veux que mes méthodes soient performantes, je dois garder un point toutes les 5ms.

Ce qui se passe, c'est que le tracé est vraiment pur lorsque le curseur de la souris est sur le picturebox... si je le sors pour laisser la souris ailleurs, le tracé devient horriblement lent. Cela est surtout fort marqué avec windows XP. Je vais essayer les fonctions API de traçage, ça me parait être une idée intéressante.

Pour les lignes, j'utilise picturebox.Line(...). As-tu une idée de l'API de traçage à utiliser à la place ?

Merci encore de ta réponse.
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
8 avril 2004 à 12:43
Utilise plutôt les fonctions API LineTo et MoveToEx pour le tracage. N'oublie pas CreatePen pour définir les couleurs du tracé.
Pour plus d'info sur ces fonctions, ou pour des exemples concrets, télécharge mon logiciel ProgOtoP API Viewer.

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
0
senpiet Messages postés 15 Date d'inscription mercredi 10 septembre 2003 Statut Membre Dernière intervention 10 mars 2005
8 avril 2004 à 12:57
merci beaucoup
0
Rejoignez-nous