2017-06-28 10 views
0

Vous savez comment c'est un peu bizarre de mettre en forme un document dans les dimensions d'une petite carte? J'essaye de m'écrire un programme pour que je puisse le faire, en partie parce que mon écriture est mauvaise et j'ai besoin d'écrire des cartes de remerciements physiques, et en partie juste pour l'expérience. La façon dont je prévoyais de le faire était de créer une fenêtre C# et de redimensionner une zone de texte enrichie en fonction des mesures de la carte. Je voudrais ensuite le convertir en un fichier RTF, afin que je puisse l'imprimer sur un ordinateur qui a une imprimante. La chose est, autant que je sache, vous pouvez seulement redimensionner en utilisant des pixels comme mesure. Et les pixels ne sont pas un moyen très cohérent de mesurer quelque chose que vous allez imprimer sur papier, car ils dépendent entièrement de la résolution de votre écran.Formulaire de fenêtres C# - Est-il possible de déterminer par programmation la taille du texte via le système métrique? Si c'est le cas, comment?

Comment est-ce que je pourrais redimensionner quelque chose en utilisant une mesure tangible, comme les centimètres?

+1

Vous pouvez l'exporter en format pdf peut-être? Il y a quelques pdf C# bibliothèques, et si je me souviens bien un pixel pdf a une hauteur/largeur statique une fois que vous spécifiez les dimensions des fichiers, par exemple lettre, A4, etc ... –

+2

Vous pouvez déterminer le dpi écran et calculer à partir de là. Aussi: Vous pouvez définir Graphics.PageUnit. – TaW

+0

@ user3739842 Je ne suis pas tout à fait sûr comment fonctionnent les fichiers PDF, tbh. Je ne m'en préoccupe généralement pas, parce que je préfère faire des documents qui peuvent être édités. – Anon

Répondre

-1

Les bitmaps mesurant la métrique sont des pixels. Les formats Bitmat ont une partie de métadonnées c'est DPI (points par pouce) qui est utilisé pour traduire une taille en pixels à une taille en centimètres par la formule simple:

centimètres = pixels/dpi * 2.54 quand vous construisez votre classe d'image vous devez définir les métadonnées en utilisant la SetPropertyItem Méthode:

PropertyTagResolutionUnit - mettre à « 3 » pour le centimètre PropertyTagXResolution - Essentiellement X DPI tant que PropertyTagResolutionUnit est en centimètres PropertyTagYResolution - le Y DPI tant que PropertyTagResolutionUnit est en centimètres

suivez ce lien pour plus d'informations sur PropertyTag Valeurs: https://msdn.microsoft.com/en-us/library/ee491082.aspx

http://zigmaweb.com