Bonjour,
J'aimerais afficher un composant tBitmap selon une taille saisie en centimetres.
Par exemple, l'utilisateur dit qu'il veut une zone de 75*50 mm et c'est ce qui est reproduit à l'écran (selon la résolution).
Quel est le calcul ?
Bonjour,
J'aimerais afficher un composant tBitmap selon une taille saisie en centimetres.
Par exemple, l'utilisateur dit qu'il veut une zone de 75*50 mm et c'est ce qui est reproduit à l'écran (selon la résolution).
Quel est le calcul ?
David.
il faut voir du coté des DPI.
La résolution écran est normalement de 72 DPI il me semble. (Dot per Inch).
A noter, que les DPI peuvent changer selon les écrans, et selon les proportions d'écran (auquels cas, xx DPI n'est pas le même en horizontal et en vertical)
Derrière il y a des conversions à faire.
je ne sais pas comibne de mm il y a dans un pouce
Section Delphi
La mine d'or: La FAQ, les Sources
Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
Notre revanche ? l'inverse est aussi vrai ;-)
Bonjour TicTacToe,
Un cm = 25.4 pouce normalement.
Comment récupere t-on les DPI de l'ecran alors ?
David.
j'ai trouvé
a voir si c'est ok ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part screen.PixelsPerInch
tiens d'ailleurs chez moi il me renvoit 96 (et pas 72 comme j'avais dit...)
Section Delphi
La mine d'or: La FAQ, les Sources
Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
Notre revanche ? l'inverse est aussi vrai ;-)
Ok, je te remecie, je vais faire des calculs maintenant.
Chez moi aussi c'est 96.
David.
Bonjour,
Ah bon ?Envoyé par dacid
1 pouce = 2.54 cm
Drôle de "normalement" : inversion du sens de conversion, + erreur dans les valeurs relatives des unités.
Compilation sans erreur ne signifie pas programme sans erreur.
L'indentation n'a pas été imaginée pour faire beau, mais pour faciliter la lecture des programmes.
Envoyé par dacid
Non, 1 pouce=2,54cm, ce n'est pas pareil, c'est peut-être pour celà que tu rencontres des problèmes.
donc
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 (pouces):=(centimetres)/2.54; et (centimetres):=(pouces)*2.54;
Bidouilleuse Delphi
Bonjour waskol et thewho,
Tout dabord, désolé pour la mauvaise convertion, je travaille en mm, donc mon coeff est bien 24.5.
C'est une erreur de frappe.
Je me demande si PixelsPerInch est fiable.
Voici les details de mon calcul:
larg = trunc((76/25.4)*Screen.PixelsPerInch); (ppi=96, renvoie 287)
haut = trunc((50/25.4)*Screen.PixelsPerInch); (ppi=96, renvoie 188)
Le rendu à l'ecran donne 84*55 mm.
De plus, si je change la résolution, PixelsPerInch renvoie toujours 96 et le rendu est encore plus faussé.
David.
Bonjour,Aïe, encore uneEnvoyé par dacid
Pas vraiment, pour plusieurs raisons, dont:Envoyé par dacid
Avec les réglages de l'écran, tu peux ajuster la taille de l'image effectivement affichée, sans pour autant changer la résolution.
Et quand tu changes la résolution, tu as bien dû remarquer qu'il y a une modification générale de la dimension des affichages (icones, textes...), parce que tout est calculé par rapport aux valeurs pixels/pouce renvoyées par le système, qui reste fixe (c'est en tout cas ce que je constate chez moi).
Ceci fait que la dimension précise d'un affichage en mm ou autre est impossible (si tu as Word par exemple, amuse toi à vérifier la graduation de la règle), tout ce que tu peux faire est de régler ton écran pour avoir une affichage suffisamment proche de ce que tu veux.
Si ça peut te rassurer, les mêmes calculs faits pour une imprimante sont parfaitement fiable, je n'ai jamais vu de problème de dimension à ce niveau là.
Compilation sans erreur ne signifie pas programme sans erreur.
L'indentation n'a pas été imaginée pour faire beau, mais pour faciliter la lecture des programmes.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager