Convertion mm /pixel pour impression [Résolu]

Messages postés
67
Date d'inscription
mercredi 5 mai 2010
Statut
Membre
Dernière intervention
20 mai 2011
- - Dernière réponse : ccito
Messages postés
67
Date d'inscription
mercredi 5 mai 2010
Statut
Membre
Dernière intervention
20 mai 2011
- 23 mars 2011 à 12:24
Bonjour,

Je voudrais imprimer un rectangle avec des dimentions définie en mm. Pour la partie dessin du rectangle, j'utilise
g.DrawRectangle(Pens.Black, MyRectangle)
.

Par contre, lorsque je veux créer MyRectangle je ne sais pas comment convertir les mm en pixel.

Je pense qu'il faut utiliser des propriétés du genre DpiX et DpiY mais je suis un peut perdu .

Pourriez-vous m'aider ?
Afficher la suite 

10 réponses

Meilleure réponse
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
57
3
Merci
25.4mm => 1 inch

2/25.4 * 300 donne 23.622 points

me semble cohérent...

300 dpi
300 point par pouces
donc, sur 25.4 millimetres, on a 300 points (comme les pixels a l'ecran)

en gros, sur ecran, on est en général à 72 dpi

même calcul, on tombe sur 5.669 pixels pour deux millimetres

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 200 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Renfield
0
Merci
Salut,
1 mm = 3.779527559 pixels
Bonne nuit.
Commenter la réponse de Utilisateur anonyme
Messages postés
67
Date d'inscription
mercredi 5 mai 2010
Statut
Membre
Dernière intervention
20 mai 2011
1
0
Merci
Merci pour ta reponse banana32.

Cette égalité est-elle vrais quelque soit la resolution de l'écran ?
N'y a-t-il pas d'autres paramètres a prendre en compte dans la convertion ?
Commenter la réponse de ccito
0
Merci
Tu as raison la taille de ton pixel dépendra de la taille de ton ecran (en mm) et aussi de la résolution que tu utilises (en pixels).
je te conseille de lire ceci pour te faire une idée.
Bonne nuit.
Commenter la réponse de Utilisateur anonyme
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
57
0
Merci
Ne parle pas de pixels pour ton impression... parle de points.

DPI = Dot Per Inch : Points par pouces

Millimetres => pouces + DPI => nombre de points





Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
Commenter la réponse de Renfield
Messages postés
67
Date d'inscription
mercredi 5 mai 2010
Statut
Membre
Dernière intervention
20 mai 2011
1
0
Merci
Banana32 merci pour ton lien .

Renfield, si je comprend bien se que tu me dit, je doit convertir mes millimetres en pouces puis le multiplier (et non l'aditionner je pense) a une variable qui me donne le nombre de points par pouces ?
Cette variable est elle e.Graphics.DpiX et e.Graphics.DpiY dans la procédure PrintPage, ou est-ce qu'il y en a une autre ?
DpiX et DpiY sont egale à 300 alors ca me semble étrange.
Commenter la réponse de ccito
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
57
0
Merci
300, c'est une résolution classique...

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
Commenter la réponse de Renfield
Messages postés
67
Date d'inscription
mercredi 5 mai 2010
Statut
Membre
Dernière intervention
20 mai 2011
1
0
Merci
Ok mais comment je l'utilise.

Si je multiplie par exemple 2mm x 300 le resultat est aberrant par rapport à ce que je veux obtenir.
Commenter la réponse de ccito
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
57
0
Merci
c'est le calcul effectué par banana32...
avec une résolution de 96dpi

1 / 25.4 * 96 => 3.779527

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
Commenter la réponse de Renfield
Messages postés
67
Date d'inscription
mercredi 5 mai 2010
Statut
Membre
Dernière intervention
20 mai 2011
1
0
Merci
Merci pour ta reponse c'est exactement ce que je cherché .
Commenter la réponse de ccito