IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 Delphi Discussion :

Convertir cm en px?


Sujet :

Delphi

  1. #1
    Membre averti
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Points : 337
    Points
    337
    Par défaut Convertir cm en px?
    Bonjour,
    J'aimerais savoir s'il est possible de convertir des cm en pixels.

    Merci de votre aide.

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 452
    Points : 24 863
    Points
    24 863
    Par défaut
    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

  3. #3
    Membre averti
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Points : 337
    Points
    337
    Par défaut
    Merci beaucoup !

  4. #4
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 202
    Points : 91
    Points
    91
    Par défaut
    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)

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    566
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2009
    Messages : 566
    Points : 1 045
    Points
    1 045
    Par défaut
    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

  6. #6
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 688
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 688
    Points : 13 117
    Points
    13 117
    Par défaut
    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...

  7. #7
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 202
    Points : 91
    Points
    91
    Par défaut
    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.

  8. #8
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 202
    Points : 91
    Points
    91
    Par défaut
    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.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 06/06/2004, 12h07
  2. [QuickReport] convertir les états en RAVE
    Par El blérot dans le forum Rave
    Réponses: 5
    Dernier message: 18/03/2004, 17h05
  3. Réponses: 3
    Dernier message: 02/07/2003, 16h24
  4. [TP]Convertir Delphi en BP7
    Par Christophe Fantoni dans le forum Turbo Pascal
    Réponses: 28
    Dernier message: 19/11/2002, 17h30
  5. convertir un nom long (win32) en format dos (8+3)
    Par kylekiller dans le forum Langage
    Réponses: 2
    Dernier message: 30/08/2002, 13h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo