2012-08-01 4 views
1

Je travaille sur la résolution d'un problème dans un programme (ReportGenerator) qui semble être un problème avec le rapport imprimé, soit étant de très mauvaise qualité ou beaucoup trop grand.comment puis-je améliorer la qualité d'image pour l'impression?

Ce projet implique l'utilisation de deux threads qui synchronisent la tâche de préparation des pages pour la prévisualisation et l'impression. Les points de départ pour ces deux threads m'empêchent d'utiliser PrintPageEventArg (une entrée de PrintDocument_PrintPage) au moment opportun afin d'utiliser e.graphics qui peut améliorer la qualité d'impression. Pour essayer de contourner ce problème, j'ai créé un graphique à partir d'un bitmap (graphics.FromImage (bitmap)), mais cela crée ses propres problèmes. Afin d'utiliser cet événement, je dois changer les points de départ pour les threads causant encore plus de problèmes. J'ai un temps limité et je ne peux pas prendre le temps de réécrire complètement ce projet. Y a-t-il des suggestions quant à ce que je peux essayer pour trouver une solution de contournement?

Voici un aperçu général du projet, y compris les fils et mes méthodes:

  1. Imprimer Afficher dialogue -> ok
  2. Print_Document_BeginPrint -> Discussion commence ici 3.Créez une image de bitmap (graphics.FromImage (bitmap)) De là, si je pouvais utiliser PrintPageEventArg mes problèmes seraient résolus mais je ne suis pas si chanceux

    Sinon, je pourrais créer un bitmap et dessiner un graphique préparé dessus (graphics.Draw (. .bit map ...)) sauvegarder cette image sur le système et la restaurer ensuite dans PrintDocument_PrintPage, Cette méthode me permet d'utiliser PrintPageEventArg mais seulement après avoir restauré les graphiques créés précédemment et les imprimer.

J'ai déjà posé des questions liées à ce problème sur ces liens. how to improve printed text quality after using "graphics.DrawString"? save an image as a bitmap without losing quality

Toute aide serait grandement appréciée. Merci d'avance.

Répondre

0

Confusion. Pourquoi ne dessinez-vous pas dans les graphiques créés à partir de l'imprimante HDC?

Pourquoi ne dessinez-vous pas dans les graphiques créés à partir de l'imprimante HDC? Si vous dessinez dans une image bitmap graphique, le bitmap doit être de haute résolution (par exemple 300 dpi) pour obtenir une meilleure qualité d'impression. Mais l'impression peut être lente en raison de l'envoi d'une grande quantité d'image à l'imprimante.

+0

Je ne comprenais pas ce que je voulais dire par "Graphiques créés à partir de l'imprimante HDC"? J'ai essayé d'améliorer la résolution et U R exactement à droite, l'impression a ralenti! –

Questions connexes