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 :

Afficher un element selon sa taille en centimetre


Sujet :

Delphi

  1. #1
    Membre averti Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 064
    Points : 420
    Points
    420
    Par défaut Afficher un element selon sa taille en centimetre
    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.

  2. #2
    Membre expert
    Avatar de TicTacToe
    Inscrit en
    Septembre 2005
    Messages
    1 940
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 940
    Points : 3 575
    Points
    3 575
    Par défaut
    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 ;-)

  3. #3
    Membre averti Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 064
    Points : 420
    Points
    420
    Par défaut
    Bonjour TicTacToe,

    Un cm = 25.4 pouce normalement.

    Comment récupere t-on les DPI de l'ecran alors ?
    David.

  4. #4
    Membre expert
    Avatar de TicTacToe
    Inscrit en
    Septembre 2005
    Messages
    1 940
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 940
    Points : 3 575
    Points
    3 575
    Par défaut
    j'ai trouvé

    a voir si c'est ok ?

    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 ;-)

  5. #5
    Membre averti Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 064
    Points : 420
    Points
    420
    Par défaut
    Ok, je te remecie, je vais faire des calculs maintenant.

    Chez moi aussi c'est 96.
    David.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    633
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 633
    Points : 711
    Points
    711
    Par défaut
    Bonjour,
    Citation Envoyé par dacid
    Un cm = 25.4 pouce normalement.
    Ah bon ?

    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.

  7. #7
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 53
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 565
    Points
    3 565
    Par défaut
    Citation Envoyé par dacid
    Bonjour TicTacToe,

    Un cm = 25.4 pouce normalement.

    Comment récupere t-on les DPI de l'ecran alors ?

    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

  8. #8
    Membre averti Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 064
    Points : 420
    Points
    420
    Par défaut
    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.

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    633
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 633
    Points : 711
    Points
    711
    Par défaut
    Bonjour,
    Citation Envoyé par dacid
    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.
    Aïe, encore une

    Citation Envoyé par dacid
    Je me demande si PixelsPerInch est fiable.
    Pas vraiment, pour plusieurs raisons, dont:

    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.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 29/12/2009, 14h27
  2. Réponses: 1
    Dernier message: 20/05/2006, 11h46
  3. Réponses: 9
    Dernier message: 04/10/2005, 19h39
  4. Réponses: 1
    Dernier message: 07/09/2005, 10h25
  5. Afficher un enregistrement selon un critère saisie.
    Par pegase23 dans le forum Access
    Réponses: 2
    Dernier message: 23/06/2005, 10h54

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