Bonjour,
J'aimerais savoir s'il est possible de convertir des cm en pixels.
Merci de votre aide.
Bonjour,
J'aimerais savoir s'il est possible de convertir des cm en pixels.
Merci de votre aide.
Tout dépend le support, en général, il y a la proprité PixelsPerInch pour l'écran et pour l'imprimante, utilise l'API GetDeviceCaps
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
Attention Troll Méchant !
"Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
L'ignorance n'excuse pas la médiocrité !
L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
Il faut avoir le courage de se tromper et d'apprendre de ses erreurs
Merci beaucoup !
Bonjour,
cette question m'intéresse aussi depuis longtemps car je n'ai pas trouvé la réponse complète.
En effet, PixelsPerInch n'est valable que pour des mesures verticales. Les écrans ont une proportion différente pour les mesures horizontales.
Savez-vous comment obtenir le nombre de pixels per inch horizontal de l'écran ? (par programme, bien sûr et non pas en mesurant directement sur l'écran avec un double décimètre)
Bonjour,
Je ne sais pas si cela peut répondre à votre demande, mais il existe un petit programme nommé Ruler.exe qui donne la mesure de l'écran en pixels ou en cm et mm. Il doit être possible de convertir en inch.
Les sources étant mises à disposition, cela doit vous permettre de trouver une solution. Je vous mets l'adresse :
http://delphi.about.com/od/fullcodep...en_ruler_3.htm
J'utilise ce programme pour positionner mes composants ou mesurer certaines distances, mais je n'ai jamais été plus loin.
A plus
Pour un écran, le nombre de points par pouce (logique) est identique en horizontal et en vertical. Il n'y a d'ailleurs qu'un seul réglage dans les paramètres Windows.
Si maintenant la question est de déterminer la taille physique de l'écran. Ben c'est tout simplement impossible...
Merci d'avoir répondu à ma question.
Le programme "SreemRuler.exe" donne des indications exactes en ce qui concerne le nombre de pixels (en horizontal et vertical). Par contre les mesures en mm sont grossièrement fausses, du moins en ce qui concerne mon moniteur. Par exemple, pour un segment long de 100 mm (mesure physique sur l'écran), il indique 124mm
D'ailleurs, je ne comprends pas comment il pourrait récupérer les dimensions physique de l'écran de mon moniteur.
En ce qui concerne les pixels, pas de problème avec :
GetDeviceCaps(h,HORZRES); {display width in pixels}
GetDeviceCaps(h,VERTRES); {display height in pixels}
Je vais étudier le code source pour essayer de comprendre.
Tout compte fait, si on veut des résultats précis, mieux vaut mettre dans l'application un petit outil d'étalonnage : on demande à l'utilisateur de mesurer la largeur et la hauteur de l'écran ( la zône réellement utilisée) et cela permet de calculer les dpi horizontaux et verticaux. Ce sont donc les dpi réels qui, en général, ils ne sont pas tous deux égaux, ni exactement égaux au nombre de dpi "logique" récupéré par programme.
Ces deux constantes peuvent être entregistrées dans un INI ou autre : l'utilisateur n'a pas besoin de recommencer l'étalonnage à chaque excécution de l'application. Il n'a qu'à le faire une seule fois, tant qu'il ne change pas de moniteur.
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