j'ai écrit un logiciel de cartes électroniques marines. Or cette carte
est regénérée très souvent, jusqu'à une fois par seconde.
Je voudrais que, par dessus la carte, soit dessiné un cercle d'azimuth
que la routine suivante (non optimisée) produit.
Ma question: est-ce que ce cercle d'azimuth pourrait rester sur la
PicttureBox en permanence, ie. sans avoir à le redessiner à chaque fois
que je regénère la carte ?
Merci
Jacquelin Hardy
Private Sub PicCarte_Click()
' une pictureBox carrée où le côté = hauteur de Form1
' une ShapeBox (circle)
For i = 0 To 350 Step 10
X1 = rayon + rayon * Cos(i * cpi)
Y1 = rayon - rayon * Sin(i * cpi)
X2 = rayon + (rayon + 20) * Cos(i * cpi)
Y2 = rayon - (rayon + 20) * Sin(i * cpi)
picCarte.Line (X1, Y1)-(X2, Y2)
Next i
For i = 5 To 355 Step 10
X1 = rayon + rayon * Cos(i * cpi)
Y1 = rayon - rayon * Sin(i * cpi)
X2 = rayon + (rayon + 10) * Cos(i * cpi)
Y2 = rayon - (rayon + 10) * Sin(i * cpi)
picCarte.Line (X1, Y1)-(X2, Y2)
Next i
For i = 0 To 359
X1 = rayon + rayon * Cos(i * cpi)
Y1 = rayon - rayon * Sin(i * cpi)
X2 = rayon + (rayon + 5) * Cos(i * cpi)
Y2 = rayon - (rayon + 5) * Sin(i * cpi)
picCarte.Line (X1, Y1)-(X2, Y2)
Next i
End Sub
> je découvre (mais je ne connait pas bien les API) les deux focntions que > tu > viens de décrire à Jaquelin. > je crois comprendre qu'elles s'utilisent dans un DC , don , apriori sur > différents "supports" : ecran (picture box), imprimante ?
> je voulais savoir quelles sont les unités prévues dans ces focntion s : > pixels, points .. > A-t-on le choix ? > car j'utilise , dans un programme , par commodité, les mm > je suis toujours en peine de convertir ces mm en pixels, points ou (uni té > DC)
> As-tu un lien ou autre qui puisse m'éclairer la dessus. > aujourd'hui, j'utilise les commandes line, print , circle.. des objets > (pictureBox, printer).. > je voudrai "gagner", en efficacité : rapidité, précision..
> merci de tes conseils
Salut Driss,
effectivement ces fonctions utilisent un DC, on peut donc les utiliser pour de nombreuses applis.
ces fonctions utilisent comme unités les "logical Unit". Je ne suis pas un expert du domaine, mais voici un lien utile:http://msdn2.microsoft.com/en-us/library/ms534247.aspx
Hello,
En particulier la fonction permettant de mapper ces unités logiques en unités métriques (ou autres) est SetMapMode: http://msdn2.microsoft.com/en-us/library/ms532673.aspx Ceci correspond plus ou moins à la propriété ScaleMode des objets graphiques sous VB.
L'exemple suivant en illustre l'utilisation: http://groups.google.com/group/microsoft.public.fr.vb/msg/d4a62103a4bce8af
François Picalausa
On 4 mai, 11:58, "jean-marc" <jean_marc...@yahoo.fr.invalid> wrote:
"Driss HANIB" <dha...@club-internet.fr> wrote in message
news:e%23BwALijHHA.3512@TK2MSFTNGP06.phx.gbl...
> Bonjour Jean Marc,
> je découvre (mais je ne connait pas bien les API) les deux focntions que
> tu
> viens de décrire à Jaquelin.
> je crois comprendre qu'elles s'utilisent dans un DC , don , apriori sur
> différents "supports" : ecran (picture box), imprimante ?
> je voulais savoir quelles sont les unités prévues dans ces focntion s :
> pixels, points ..
> A-t-on le choix ?
> car j'utilise , dans un programme , par commodité, les mm
> je suis toujours en peine de convertir ces mm en pixels, points ou (uni té
> DC)
> As-tu un lien ou autre qui puisse m'éclairer la dessus.
> aujourd'hui, j'utilise les commandes line, print , circle.. des objets
> (pictureBox, printer)..
> je voudrai "gagner", en efficacité : rapidité, précision..
> merci de tes conseils
Salut Driss,
effectivement ces fonctions utilisent un DC, on peut donc
les utiliser pour de nombreuses applis.
ces fonctions utilisent comme unités les "logical Unit". Je
ne suis pas un expert du domaine, mais voici un lien
utile:http://msdn2.microsoft.com/en-us/library/ms534247.aspx
Hello,
En particulier la fonction permettant de mapper ces unités logiques en
unités métriques (ou autres) est SetMapMode:
http://msdn2.microsoft.com/en-us/library/ms532673.aspx
Ceci correspond plus ou moins à la propriété ScaleMode des objets
graphiques sous VB.
L'exemple suivant en illustre l'utilisation:
http://groups.google.com/group/microsoft.public.fr.vb/msg/d4a62103a4bce8af
> je découvre (mais je ne connait pas bien les API) les deux focntions que > tu > viens de décrire à Jaquelin. > je crois comprendre qu'elles s'utilisent dans un DC , don , apriori sur > différents "supports" : ecran (picture box), imprimante ?
> je voulais savoir quelles sont les unités prévues dans ces focntion s : > pixels, points .. > A-t-on le choix ? > car j'utilise , dans un programme , par commodité, les mm > je suis toujours en peine de convertir ces mm en pixels, points ou (uni té > DC)
> As-tu un lien ou autre qui puisse m'éclairer la dessus. > aujourd'hui, j'utilise les commandes line, print , circle.. des objets > (pictureBox, printer).. > je voudrai "gagner", en efficacité : rapidité, précision..
> merci de tes conseils
Salut Driss,
effectivement ces fonctions utilisent un DC, on peut donc les utiliser pour de nombreuses applis.
ces fonctions utilisent comme unités les "logical Unit". Je ne suis pas un expert du domaine, mais voici un lien utile:http://msdn2.microsoft.com/en-us/library/ms534247.aspx
Hello,
En particulier la fonction permettant de mapper ces unités logiques en unités métriques (ou autres) est SetMapMode: http://msdn2.microsoft.com/en-us/library/ms532673.aspx Ceci correspond plus ou moins à la propriété ScaleMode des objets graphiques sous VB.
L'exemple suivant en illustre l'utilisation: http://groups.google.com/group/microsoft.public.fr.vb/msg/d4a62103a4bce8af
François Picalausa
jean-marc
"Driss HANIB" wrote in message news:%
OK merci
je regarde tout cela. Pour l'instant je m'y perds un peu mais bon comme dirait un "candidat pour 2 jours encore" : "ensemble tout est possible..en VB ;o))
Tiens, pour le fun j'ai benchmarké toout ça vite fait. Ces API sont environ 40% plus rapide que les fonctions natives de VB.
Pour faire simple, dans le même intervalle de temps, on peut tracer environ 2 fois plus de lignes (un peu moins).
Ou encore, pour tracer le même nombre de lignes, on met plus ou moins 2 fois moins de temps (un peu plus).
Pour tracer 10.000 lignes, on passe - Avec line : 60 ms - Avec MovetoEx/Lineto : 35 ms
Je me rappelle avoir fait une jolie horloge (en fait un genre de chronomètre ou la plus petite aiguille devait avancer toutes les 10 millisecondes). Avec Line, ça clignotait, c'était très laid. Avec ces 2 API, plus de clignotement, une fluidité parfaite.
Bon week end
Vote le matin, BBQ à midi, Sieste l'après-midi ...
"Driss HANIB" <dhanib@club-internet.fr> wrote in message
news:%23J5mpdjjHHA.596@TK2MSFTNGP06.phx.gbl...
OK merci
je regarde tout cela. Pour l'instant je m'y perds un peu mais bon comme
dirait un "candidat pour 2 jours encore" : "ensemble tout est possible..en
VB ;o))
Tiens, pour le fun j'ai benchmarké toout ça vite fait.
Ces API sont environ 40% plus rapide que les fonctions
natives de VB.
Pour faire simple, dans le même intervalle de temps, on
peut tracer environ 2 fois plus de lignes (un peu moins).
Ou encore, pour tracer le même nombre de lignes, on met
plus ou moins 2 fois moins de temps (un peu plus).
Pour tracer 10.000 lignes, on passe
- Avec line : 60 ms
- Avec MovetoEx/Lineto : 35 ms
Je me rappelle avoir fait une jolie horloge (en fait
un genre de chronomètre ou la plus petite aiguille devait
avancer toutes les 10 millisecondes). Avec Line, ça
clignotait, c'était très laid. Avec ces 2 API, plus
de clignotement, une fluidité parfaite.
Bon week end
Vote le matin, BBQ à midi, Sieste l'après-midi ...
je regarde tout cela. Pour l'instant je m'y perds un peu mais bon comme dirait un "candidat pour 2 jours encore" : "ensemble tout est possible..en VB ;o))
Tiens, pour le fun j'ai benchmarké toout ça vite fait. Ces API sont environ 40% plus rapide que les fonctions natives de VB.
Pour faire simple, dans le même intervalle de temps, on peut tracer environ 2 fois plus de lignes (un peu moins).
Ou encore, pour tracer le même nombre de lignes, on met plus ou moins 2 fois moins de temps (un peu plus).
Pour tracer 10.000 lignes, on passe - Avec line : 60 ms - Avec MovetoEx/Lineto : 35 ms
Je me rappelle avoir fait une jolie horloge (en fait un genre de chronomètre ou la plus petite aiguille devait avancer toutes les 10 millisecondes). Avec Line, ça clignotait, c'était très laid. Avec ces 2 API, plus de clignotement, une fluidité parfaite.
Bon week end
Vote le matin, BBQ à midi, Sieste l'après-midi ...
Merci François pour ton aide comme merci à jean Marc Avec vous, on avance..
Driss
"François Picalausa" a écrit dans le message de news: On 4 mai, 11:58, "jean-marc" wrote:
"Driss HANIB" wrote in message
news:e%
> Bonjour Jean Marc,
> je découvre (mais je ne connait pas bien les API) les deux focntions que > tu > viens de décrire à Jaquelin. > je crois comprendre qu'elles s'utilisent dans un DC , don , apriori sur > différents "supports" : ecran (picture box), imprimante ?
> je voulais savoir quelles sont les unités prévues dans ces focntions : > pixels, points .. > A-t-on le choix ? > car j'utilise , dans un programme , par commodité, les mm > je suis toujours en peine de convertir ces mm en pixels, points ou
(unité
> DC)
> As-tu un lien ou autre qui puisse m'éclairer la dessus. > aujourd'hui, j'utilise les commandes line, print , circle.. des objets > (pictureBox, printer).. > je voudrai "gagner", en efficacité : rapidité, précision..
> merci de tes conseils
Salut Driss,
effectivement ces fonctions utilisent un DC, on peut donc les utiliser pour de nombreuses applis.
ces fonctions utilisent comme unités les "logical Unit". Je ne suis pas un expert du domaine, mais voici un lien utile:http://msdn2.microsoft.com/en-us/library/ms534247.aspx
Hello,
En particulier la fonction permettant de mapper ces unités logiques en unités métriques (ou autres) est SetMapMode: http://msdn2.microsoft.com/en-us/library/ms532673.aspx Ceci correspond plus ou moins à la propriété ScaleMode des objets graphiques sous VB.
L'exemple suivant en illustre l'utilisation: http://groups.google.com/group/microsoft.public.fr.vb/msg/d4a62103a4bce8af
François Picalausa
Merci François pour ton aide comme merci à jean Marc
Avec vous, on avance..
Driss
"François Picalausa" <fpicalausa@gmail.com> a écrit dans le message de
news:1178275228.764734.117500@y80g2000hsf.googlegroups.com...
On 4 mai, 11:58, "jean-marc" <jean_marc...@yahoo.fr.invalid> wrote:
"Driss HANIB" <dha...@club-internet.fr> wrote in message
news:e%23BwALijHHA.3512@TK2MSFTNGP06.phx.gbl...
> Bonjour Jean Marc,
> je découvre (mais je ne connait pas bien les API) les deux focntions que
> tu
> viens de décrire à Jaquelin.
> je crois comprendre qu'elles s'utilisent dans un DC , don , apriori sur
> différents "supports" : ecran (picture box), imprimante ?
> je voulais savoir quelles sont les unités prévues dans ces focntions :
> pixels, points ..
> A-t-on le choix ?
> car j'utilise , dans un programme , par commodité, les mm
> je suis toujours en peine de convertir ces mm en pixels, points ou
(unité
> DC)
> As-tu un lien ou autre qui puisse m'éclairer la dessus.
> aujourd'hui, j'utilise les commandes line, print , circle.. des objets
> (pictureBox, printer)..
> je voudrai "gagner", en efficacité : rapidité, précision..
> merci de tes conseils
Salut Driss,
effectivement ces fonctions utilisent un DC, on peut donc
les utiliser pour de nombreuses applis.
ces fonctions utilisent comme unités les "logical Unit". Je
ne suis pas un expert du domaine, mais voici un lien
utile:http://msdn2.microsoft.com/en-us/library/ms534247.aspx
Hello,
En particulier la fonction permettant de mapper ces unités logiques en
unités métriques (ou autres) est SetMapMode:
http://msdn2.microsoft.com/en-us/library/ms532673.aspx
Ceci correspond plus ou moins à la propriété ScaleMode des objets
graphiques sous VB.
L'exemple suivant en illustre l'utilisation:
http://groups.google.com/group/microsoft.public.fr.vb/msg/d4a62103a4bce8af
Merci François pour ton aide comme merci à jean Marc Avec vous, on avance..
Driss
"François Picalausa" a écrit dans le message de news: On 4 mai, 11:58, "jean-marc" wrote:
"Driss HANIB" wrote in message
news:e%
> Bonjour Jean Marc,
> je découvre (mais je ne connait pas bien les API) les deux focntions que > tu > viens de décrire à Jaquelin. > je crois comprendre qu'elles s'utilisent dans un DC , don , apriori sur > différents "supports" : ecran (picture box), imprimante ?
> je voulais savoir quelles sont les unités prévues dans ces focntions : > pixels, points .. > A-t-on le choix ? > car j'utilise , dans un programme , par commodité, les mm > je suis toujours en peine de convertir ces mm en pixels, points ou
(unité
> DC)
> As-tu un lien ou autre qui puisse m'éclairer la dessus. > aujourd'hui, j'utilise les commandes line, print , circle.. des objets > (pictureBox, printer).. > je voudrai "gagner", en efficacité : rapidité, précision..
> merci de tes conseils
Salut Driss,
effectivement ces fonctions utilisent un DC, on peut donc les utiliser pour de nombreuses applis.
ces fonctions utilisent comme unités les "logical Unit". Je ne suis pas un expert du domaine, mais voici un lien utile:http://msdn2.microsoft.com/en-us/library/ms534247.aspx
Hello,
En particulier la fonction permettant de mapper ces unités logiques en unités métriques (ou autres) est SetMapMode: http://msdn2.microsoft.com/en-us/library/ms532673.aspx Ceci correspond plus ou moins à la propriété ScaleMode des objets graphiques sous VB.
L'exemple suivant en illustre l'utilisation: http://groups.google.com/group/microsoft.public.fr.vb/msg/d4a62103a4bce8af