2009-09-20 12 views
1

Une question simple - Si je veux imprimer une image afin qu'elle corresponde le mieux à la page en C#, dois-je l'adapter moi-même aux dimensions de la page?Ai-je besoin de redimensionner une image avant d'imprimer?

J'ai remarqué que beaucoup de bonnes réponses sur how-to scale, je veux juste savoir si je dois me l'échelle, comme la mise à l'échelle ne fait pas partie d'un traitement d'image, il est seulement pour le bien de l'impression.

(un simple oui (si elle est la réponse) ferait)

Edit: Actuellement, je suis mise à l'échelle en utilisant:

e.Graphics.DrawImage(my_image, destRect, srcRect, GraphicsUnit.Pixel); 

Alors que destRect est un rectangle des dimensions de la sortie désirée, j'ai fait un algorithme simple pour définir cette destRect à des tailles optimales tout en préservant le rapport d'aspect original. (btw je ne suis pas heureux avec cette mise à l'échelle simple, car il manque de qualité d'image, va probablement mettre à jour à quelque chose d'amateur si je dois).

Mais je voulais savoir s'il y a une auto-mise à l'échelle fournie par le cadre à des fins d'impression, je ne veux vraiment pas de réinventer cette roue ..

+0

Pourquoi ne pas simplement essayer? – Phoexo

+0

@Phoexo, si j'envoie une image d'une manière spécifique, elle n'est pas mise à l'échelle de façon optimale. Ce genre de tentative ne m'assure cependant pas qu'un meilleur moyen n'existe pas. (Je connais des manières complexes, c'est-à-dire de mettre à l'échelle moi-même l'image, ce que je suis en train de faire, édité à ce sujet, mais je veux m'assurer qu'il n'y a pas de meilleur moyen). –

Répondre

2

Je ne sais pas si cela est aussi simple que oui/non. Je suppose que vous devez toujours utiliser GDI + et l'objet Graphics, donc la mise à l'échelle est aussi simple qu'appeler Graphics.DrawImage(...) sur l'objet graphique pour le périphérique d'impression. Cependant, certains pilotes d'imprimante peuvent prendre en charge la mise à l'échelle automatique de la source.