senpiet
Messages postés15Date d'inscriptionmercredi 10 septembre 2003StatutMembreDernière intervention10 mars 2005
-
8 avril 2004 à 11:13
senpiet
Messages postés15Date d'inscriptionmercredi 10 septembre 2003StatutMembreDernière intervention10 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.
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013131 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 !
senpiet
Messages postés15Date d'inscriptionmercredi 10 septembre 2003StatutMembreDernière intervention10 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 ?
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013131 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.