Imprimante niveau de gris (texte ok mais graphique reste coloré ????)
flowice
Messages postés4Date d'inscriptionsamedi 12 avril 2003StatutMembreDernière intervention27 octobre 2005
-
25 oct. 2005 à 22:22
flowice
Messages postés4Date d'inscriptionsamedi 12 avril 2003StatutMembreDernière intervention27 octobre 2005
-
27 oct. 2005 à 08:14
Bonjour à tous,
Je suis bloqué depuis pas mal de temps sur un problème d'impression en VB6.
Je possède un imprimante canon i550 qui permet dans la boite de dialogue "préférences" de choisir l'impression dite en niveau de gris.
Malheureusement seuls les textes sortis avec la commande Printer.Print sont imprimés en "grayscale". Les commandes Printer.Line et TextOut sont imprimés en couleur en ignorant complètement l'option niveau de gris.
Je cherche une info sur une API qui me permettrait de récupérer cette option choisie dans la boite de dialogue de l'mprimante pour agir en connaissance de cause.
Merci d'avance pour une réponse et de me consacrer un petit peu de votre temps précieux pour me dépanner.
flowice
Messages postés4Date d'inscriptionsamedi 12 avril 2003StatutMembreDernière intervention27 octobre 2005 27 oct. 2005 à 08:14
Bonjour,
Je vois que le sujet ne vous inspire pas. C'est vrai que la gestion des imprimantes est relativement hardieuse.
J'ai enfin trouvé la solution :
- Le texte est imprimé en grayscale parce que la commande se réfère au paramètre forecolor
- les commandes Printer.line et Textout (printer.hdc,X, Y, Texte$, nchars) se réfèrent aussi à Forecolor.
J'avais précisé la couleur dans la commande Printer.line (X,Y, Color) . Ce qui revenait à forcer l'impression en couleur malgrè l'option "impression en niveau de gris" cochée sur la boite de dialogue de mon imprimante.
En ne passant pas la couleur directement à printer.line (paramètre en plus optionnel) mais en le faisant au préalable par printer.forecolor = ... . L'impression se fait bien en niveau de gris.
Moralité : passer la couleur de la commande par Forecolor avant de l'invoquer plutot que de la forcer dans la commande si on veut utiliser l'impression en niveau de gris des imprimantes.