2009-09-04 5 views
1

Est-ce que quelqu'un connaît le "tour de magie" pour imprimer des lignes grises dans une application basée sur MFC/VS6, en utilisant le style PS_SOLID?Impression de lignes grises avec MFC/VS6

Cela fonctionne lors de l'impression au format PDF, mais je reçois juste des lignes noires lors de l'impression sur mon imprimante laser noir/blanc. Il travaille également avec le style PS_INSIDEFRAME, mais il me semble étrange qu'un PS_SOLID normal ne peut pas faire gris

Voici comment le CPen est configuré: CPen linePen (PS_SOLID, 50, RGB (128,128,128)); J'utilise les fonctions MoveTo/LineTo pour dessiner.

Merci!

  • Fabian
+0

SO est-il dessiné 50 pixels de large .. mais noir? – Goz

Répondre

0

Etes-vous sûr le contexte de l'imprimante est correctement réglée, à savoir que vous ne disposez pas d'une profondeur de bits de 1?

+0

Désolé pour un énorme retard. L'imprimante DC a en effet une profondeur de bit de 1 (en fonction des caps de l'appareil). J'ai remarqué que le DEVMODE fournit un BitsPerPixel, mais je ne suis pas sûr quand je suis censé le définir (et à quelle valeur - dépend probablement de l'imprimante). Des indices? – Fabian

+0

Vous obtenez les fonctionnalités de l'imprimante à partir de la boîte de dialogue de configuration de l'imprimante. Voir un tutoriel sur l'impression avec MFC pour des exemples. Je n'ai pas de code à portée de main ici, mais IIRC vous ramène à obtenir une structure DEVMODE complète de la boîte de dialogue des paramètres de l'imprimante, et en utilisant celui-là pour créer un périphérique à imprimer. La plupart de ce code est une plaque de chaudière que vous devez copier à partir d'exemples MFC (je pense qu'il y a aussi un exemple d'impression dans les échantillons MFC, en fait, j'en suis sûr.) – Roel