OVH Cloud OVH Cloud

Problème d'échelle

17 réponses
Avatar
Jacquelin Hardy
Hello groupe,

je cherche un moyen de représenter une certaine distance, un cercle de 3
milles nautiques de rayon par exemple, sur n'importe lequel écran
d'ordinateur. Je crois avoir besoin des dimensions réelles de l'écran, et
non de la résolution en pixels. Je veux utiliser la hauteur réelle de
l'écran pour le diamètre du cercle.

Y a-t-il un moyen de faire ça ?

C'est faisable à tatons avec un écran quelconque, mais l'algorithme pour le
faire sans taponner ???

Merci

Jacquelin Hardy

7 réponses

1 2
Avatar
Jacquelin Hardy
Bonnjour Jacques,

> Je me trompe peut-être mais cela me fait penser à une carte pour les
> courses d'orientation ...?
C'est en plein ça.

A l'adresse suivante, il y a une "radar plotting sheet". Ce que je veux
faire, c'est de représenter seulement le pourtour du cercle, ie. les
degrés indiqués un à un par de petites lignes, en tenant compte d'une
échelle réelle, peut importe l'écran


http://tqd1.physik.uni-freiburg.de/~goetzj/Segeln/radar.pdf


Bye

Jacquelin H.

Jacques(BE) a écrit :
Bonjour,

Là, je comprend mieux la question :-)
Cela sous-entend que tu pourrais ensuite imprimer la carte avec la bonne
échelle.
Je me trompe peut-être mais cela me fait penser à une carte pour les
courses d'orientation ...?
Quoi que ces cartes sont au 1/10000 ou au 1/15000 !

Jacques(BE)

"Jacquelin Hardy" a écrit dans le message de
news:
Bonjour Jacques

BE, c'est quoi ça ? bien embêté ???


Je crois que je me suis mal exprimé.

Parlons d'échelle: si j'ai une carte au 1:40000, ça veut dire que 1 cm
représente 40000 cms de réalité, ou 400 mètres.

Maintenant supposons que je veuille représenter cette même carte sur
un écran, en tenant compte de l'échelle, ie. que si j'affiche une
échelle de 1:40000, je veux que 1 cm d'écran représente réellement 400
mètres, je crois que j'ai besoin de la taille réelle de l'écran, sinon
l'échelle inscrite ne réprésentera rien.
C'est ça le but. Et je cherche toujours.

Bye

Jacquelin Hardy

> C'est quoi le but de connaitre la grandeur physique d'un écran pour
> faire de l'affichage?



Jacques(BE) a écrit :

bonjour,

C'est quoi le but de connaitre la grandeur physique d'un écran pour
faire de l'affichage?
Que l'écran fasse 20 pouces ou 10 pouces, si tu as un affichage de
800 x 600
la hauteur et la largeur affichable de ton écran reste la même ! On
aura toujours 800 pixels
en largeur et 600 pixels en hauteur.
Si ton cercle est proportionnel à la grandeur de l'écran, dans ce
cas-ci il aura 600 pixel de diamètre (pour le voir en entier),
il prendra toujours le même espace sur l'écran

Jacques









Avatar
Patrice Henrio
"Jacques(BE)" a écrit dans le message de news:

Re Bonjour,

J'ai fait un test rapide avec PhotoShop.
J'ai créé une image de un centimètre de large avec une résolution de
28,346 pixel/cm (par défaut dans photoshop)
C'est donc une image de 28 pixels pour un centimètre.
Le nombre de pixels par centimètre variera en fonction de la résolution
définie au moment de créer l'image.
Une fois l'image créée, tu pourras alors travailler en fonction de sa
résolution.

Pour reprendre ton cas et le coller à mon exemple :
1:40000 --> 1cm ou 28 pixels = 400m

Jacques(BE)


"Jacquelin Hardy" a écrit dans le message de
news:
Bonjour Jacques

BE, c'est quoi ça ? bien embêté ???


Je crois que je me suis mal exprimé.

Parlons d'échelle: si j'ai une carte au 1:40000, ça veut dire que 1 cm
représente 40000 cms de réalité, ou 400 mètres.

Maintenant supposons que je veuille représenter cette même carte sur un
écran, en tenant compte de l'échelle, ie. que si j'affiche une échelle de
1:40000, je veux que 1 cm d'écran représente réellement 400 mètres, je
crois que j'ai besoin de la taille réelle de l'écran, sinon l'échelle
inscrite ne réprésentera rien.
C'est ça le but. Et je cherche toujours.

Bye

Jacquelin Hardy

> C'est quoi le but de connaitre la grandeur physique d'un écran pour
> faire de l'affichage?



Jacques(BE) a écrit :

bonjour,

C'est quoi le but de connaitre la grandeur physique d'un écran pour
faire de l'affichage?
Que l'écran fasse 20 pouces ou 10 pouces, si tu as un affichage de 800 x
600
la hauteur et la largeur affichable de ton écran reste la même ! On aura
toujours 800 pixels
en largeur et 600 pixels en hauteur.
Si ton cercle est proportionnel à la grandeur de l'écran, dans ce cas-ci
il aura 600 pixel de diamètre (pour le voir en entier),
il prendra toujours le même espace sur l'écran

Jacques









je vous rappelle car cela semble être passé inaperçu que
283 / Screen.TwipsPerPixelY correspond à 5 mm en hauteur quelque soit la
résolution et l'écran
Après, une simple règle de trois permet de retrouver le nombre de pixels sur
l'écran pour avoir la dimension souhaitée.
Avatar
Jacquelin Hardy
Patrice ,

> je vous rappelle car cela semble être passé inaperçu que
> 283 / Screen.TwipsPerPixelY correspond à 5 mm en hauteur quelque
soit >la résolution et l'écran
> Après, une simple règle de trois permet de retrouver le nombre de
>pixels sur l'écran pour avoir la dimension souhaitée.
>
j'ai 3 écrans, un de 19 pouces, un de 17 et un laptop de 10. Dans les 3
cas, Screen.TwipsPerPixelY donne 15. Donc, c'est pas ça qui peut donner
les dimensions réelles de l'écran !

Bye

Jacquelin


Patrice Henrio a écrit :
"Jacques(BE)" a écrit dans le message de news:

Re Bonjour,

J'ai fait un test rapide avec PhotoShop.
J'ai créé une image de un centimètre de large avec une résolution de
28,346 pixel/cm (par défaut dans photoshop)
C'est donc une image de 28 pixels pour un centimètre.
Le nombre de pixels par centimètre variera en fonction de la résolution
définie au moment de créer l'image.
Une fois l'image créée, tu pourras alors travailler en fonction de sa
résolution.

Pour reprendre ton cas et le coller à mon exemple :
1:40000 --> 1cm ou 28 pixels = 400m

Jacques(BE)


"Jacquelin Hardy" a écrit dans le message de
news:
Bonjour Jacques

BE, c'est quoi ça ? bien embêté ???


Je crois que je me suis mal exprimé.

Parlons d'échelle: si j'ai une carte au 1:40000, ça veut dire que 1 cm
représente 40000 cms de réalité, ou 400 mètres.

Maintenant supposons que je veuille représenter cette même carte sur un
écran, en tenant compte de l'échelle, ie. que si j'affiche une échelle de
1:40000, je veux que 1 cm d'écran représente réellement 400 mètres, je
crois que j'ai besoin de la taille réelle de l'écran, sinon l'échelle
inscrite ne réprésentera rien.
C'est ça le but. Et je cherche toujours.

Bye

Jacquelin Hardy

C'est quoi le but de connaitre la grandeur physique d'un écran pour
faire de l'affichage?




Jacques(BE) a écrit :
bonjour,

C'est quoi le but de connaitre la grandeur physique d'un écran pour
faire de l'affichage?
Que l'écran fasse 20 pouces ou 10 pouces, si tu as un affichage de 800 x
600
la hauteur et la largeur affichable de ton écran reste la même ! On aura
toujours 800 pixels
en largeur et 600 pixels en hauteur.
Si ton cercle est proportionnel à la grandeur de l'écran, dans ce cas-ci
il aura 600 pixel de diamètre (pour le voir en entier),
il prendra toujours le même espace sur l'écran

Jacques







je vous rappelle car cela semble être passé inaperçu que
283 / Screen.TwipsPerPixelY correspond à 5 mm en hauteur quelque soit la
résolution et l'écran
Après, une simple règle de trois permet de retrouver le nombre de pixels sur
l'écran pour avoir la dimension souhaitée.




Avatar
François Picalausa
On 5月8日, 午後7:35, Jacquelin Hardy <jacha...@ videotron.ca> wrote:
Bonnjour Jacques,

 > Je me trompe peut-être mais cela me fait penser à une c arte pour les
 > courses d'orientation ...?
C'est en plein ça.

A l'adresse suivante, il y a une "radar plotting sheet". Ce que je veux
faire, c'est de représenter seulement le pourtour du cercle, ie. les
degrés indiqués un à un par de petites lignes, en tenant c ompte d'une
échelle réelle, peut importe l'écran

http://tqd1.physik.uni-freiburg.de/~goetzj/Segeln/radar.pdf

Bye



Hello,

J'espère ne pas avoir mal compris la questions, mais est-ce que
l'usage des propriétés/méthodes scale[mode|left|top|width|he ight|X|Y]
ne peuvent pas convenir?

Voici un exemple qui devrait retourner en mm la taille de l'écran:
Private Sub Form_Load()
'Me.BorderStyle = 0 - None - définir en design time
Me.ScaleMode = ScaleModeConstants.vbMillimeters
Me.WindowState = VBRUN.FormWindowStateConstants.vbMaximized
Me.Show
Debug.Print Me.ScaleWidth, Me.ScaleHeight
Unload Me
End Sub

(Normalement, en utilisant les méthodes ScaleX, ScaleY avec
Screen.Width et Screen.Height, ça devrait fonctionner aussi...)

Cela étant, si le but est juste d'effectuer un traçage, on peut
simplement changer scalemode, et ensuite utiliser circle, line,
currentx, currenty en mm. Bien entendu, c'est tout à fait équival ent,
pour les API GDI, à utiliser la méthode SetMapMode discutée
précédemment:
http://groups.google.com/group/microsoft.public.fr.vb/browse_frm/thread/6d7 a4bd2b6101836/a094a6c87c9ed1f2#a094a6c87c9ed1f2

François
Avatar
François Picalausa
On 5月8日, 午後10:59, François Picalausa < wrote:
On 5月8日, 午後7:35, Jacquelin Hardy <jacha.. wrote:

> Bonnjour Jacques,

>  > Je me trompe peut-être mais cela me fait penser à une carte pour les
>  > courses d'orientation ...?
> C'est en plein ça.

> A l'adresse suivante, il y a une "radar plotting sheet". Ce que je veux
> faire, c'est de représenter seulement le pourtour du cercle, ie. l es
> degrés indiqués un à un par de petites lignes, en tenant compte d'une
> échelle réelle, peut importe l'écran

>http://tqd1.physik.uni-freiburg.de/~goetzj/Segeln/radar.pdf

> Bye

Hello,

J'espère ne pas avoir mal compris la questions, mais est-ce que
l'usage des propriétés/méthodes scale[mode|left|top|width| height|X|Y]
ne peuvent pas convenir?



Hello,

Ne pas tenir compte de ma réponse : Si l'utilisateur "règle" la
largeur ou la hauteur d'affichage de son écran, le dimensionnement est
de toutes façons faussé, sans compter qu'un TFT n'était jama is plat,
la taille n'est pas jamais la même.
Mis à part en faisant calibrer à l'utilisateur son écran à   l'aide
d'une latte et d'un trait à l'écran (à moins de lui demander la taille
de la zone affichable directement), je doute qu'il soit possible de
récupérer les dimensions affichables physiques, de manière p récise.

François
Avatar
Jacques\(BE\)
C'est normal de toujours avoir 15 !!
C'est le nombre de twips par pixel. Que l'on soit sur n'importe quel écran et
n'importe quelle résolution un pixel sera toujours égal à 15 twips !

"Jacquelin Hardy" a écrit dans le message de
news:
Patrice ,

> je vous rappelle car cela semble être passé inaperçu que
> 283 / Screen.TwipsPerPixelY correspond à 5 mm en hauteur quelque
soit >la résolution et l'écran
> Après, une simple règle de trois permet de retrouver le nombre de pixels sur
> l'écran pour avoir la dimension souhaitée.
>
j'ai 3 écrans, un de 19 pouces, un de 17 et un laptop de 10. Dans les 3 cas,
Screen.TwipsPerPixelY donne 15. Donc, c'est pas ça qui peut donner les
dimensions réelles de l'écran !

Bye

Jacquelin


Patrice Henrio a écrit :
"Jacques(BE)" a écrit dans le message de news:

Re Bonjour,

J'ai fait un test rapide avec PhotoShop.
J'ai créé une image de un centimètre de large avec une résolution de 28,346
pixel/cm (par défaut dans photoshop)
C'est donc une image de 28 pixels pour un centimètre.
Le nombre de pixels par centimètre variera en fonction de la résolution
définie au moment de créer l'image.
Une fois l'image créée, tu pourras alors travailler en fonction de sa
résolution.

Pour reprendre ton cas et le coller à mon exemple :
1:40000 --> 1cm ou 28 pixels = 400m

Jacques(BE)


"Jacquelin Hardy" a écrit dans le message de
news:
Bonjour Jacques

BE, c'est quoi ça ? bien embêté ???


Je crois que je me suis mal exprimé.

Parlons d'échelle: si j'ai une carte au 1:40000, ça veut dire que 1 cm
représente 40000 cms de réalité, ou 400 mètres.

Maintenant supposons que je veuille représenter cette même carte sur un
écran, en tenant compte de l'échelle, ie. que si j'affiche une échelle de
1:40000, je veux que 1 cm d'écran représente réellement 400 mètres, je
crois que j'ai besoin de la taille réelle de l'écran, sinon l'échelle
inscrite ne réprésentera rien.
C'est ça le but. Et je cherche toujours.

Bye

Jacquelin Hardy

C'est quoi le but de connaitre la grandeur physique d'un écran pour
faire de l'affichage?




Jacques(BE) a écrit :
bonjour,

C'est quoi le but de connaitre la grandeur physique d'un écran pour faire
de l'affichage?
Que l'écran fasse 20 pouces ou 10 pouces, si tu as un affichage de 800 x
600
la hauteur et la largeur affichable de ton écran reste la même ! On aura
toujours 800 pixels
en largeur et 600 pixels en hauteur.
Si ton cercle est proportionnel à la grandeur de l'écran, dans ce cas-ci
il aura 600 pixel de diamètre (pour le voir en entier),
il prendra toujours le même espace sur l'écran

Jacques







je vous rappelle car cela semble être passé inaperçu que
283 / Screen.TwipsPerPixelY correspond à 5 mm en hauteur quelque soit la
résolution et l'écran
Après, une simple règle de trois permet de retrouver le nombre de pixels sur
l'écran pour avoir la dimension souhaitée.





Avatar
Jacques\(BE\)
Autres précisions :

Tableau de correspondance entre Twips, Point, Pouce, millimètre et Pixel:

|Twips Point Pouce mm Pixel
Twips |1 1/20 1/1440 25.4/1440 1/TP
Point |20 1 1/72 25.4/72 20/TP
Pouce |1440 72 1 25.4 1440/TP
mm |1440/25.4 72/25.4 1/25.4 1 1440/TP*25.4



"Jacquelin Hardy" a écrit dans le message de
news:
Patrice ,

> je vous rappelle car cela semble être passé inaperçu que
> 283 / Screen.TwipsPerPixelY correspond à 5 mm en hauteur quelque
soit >la résolution et l'écran
> Après, une simple règle de trois permet de retrouver le nombre de pixels sur
> l'écran pour avoir la dimension souhaitée.
>
j'ai 3 écrans, un de 19 pouces, un de 17 et un laptop de 10. Dans les 3 cas,
Screen.TwipsPerPixelY donne 15. Donc, c'est pas ça qui peut donner les
dimensions réelles de l'écran !

Bye

Jacquelin


Patrice Henrio a écrit :
"Jacques(BE)" a écrit dans le message de news:

Re Bonjour,

J'ai fait un test rapide avec PhotoShop.
J'ai créé une image de un centimètre de large avec une résolution de 28,346
pixel/cm (par défaut dans photoshop)
C'est donc une image de 28 pixels pour un centimètre.
Le nombre de pixels par centimètre variera en fonction de la résolution
définie au moment de créer l'image.
Une fois l'image créée, tu pourras alors travailler en fonction de sa
résolution.

Pour reprendre ton cas et le coller à mon exemple :
1:40000 --> 1cm ou 28 pixels = 400m

Jacques(BE)


"Jacquelin Hardy" a écrit dans le message de
news:
Bonjour Jacques

BE, c'est quoi ça ? bien embêté ???


Je crois que je me suis mal exprimé.

Parlons d'échelle: si j'ai une carte au 1:40000, ça veut dire que 1 cm
représente 40000 cms de réalité, ou 400 mètres.

Maintenant supposons que je veuille représenter cette même carte sur un
écran, en tenant compte de l'échelle, ie. que si j'affiche une échelle de
1:40000, je veux que 1 cm d'écran représente réellement 400 mètres, je
crois que j'ai besoin de la taille réelle de l'écran, sinon l'échelle
inscrite ne réprésentera rien.
C'est ça le but. Et je cherche toujours.

Bye

Jacquelin Hardy

C'est quoi le but de connaitre la grandeur physique d'un écran pour
faire de l'affichage?




Jacques(BE) a écrit :
bonjour,

C'est quoi le but de connaitre la grandeur physique d'un écran pour faire
de l'affichage?
Que l'écran fasse 20 pouces ou 10 pouces, si tu as un affichage de 800 x
600
la hauteur et la largeur affichable de ton écran reste la même ! On aura
toujours 800 pixels
en largeur et 600 pixels en hauteur.
Si ton cercle est proportionnel à la grandeur de l'écran, dans ce cas-ci
il aura 600 pixel de diamètre (pour le voir en entier),
il prendra toujours le même espace sur l'écran

Jacques







je vous rappelle car cela semble être passé inaperçu que
283 / Screen.TwipsPerPixelY correspond à 5 mm en hauteur quelque soit la
résolution et l'écran
Après, une simple règle de trois permet de retrouver le nombre de pixels sur
l'écran pour avoir la dimension souhaitée.





1 2