Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   farbig drucken an Standarddrucker ok - sonst sw (https://www.delphipraxis.net/89339-farbig-drucken-standarddrucker-ok-sonst-sw.html)

oldie 29. Mär 2007 18:31


farbig drucken an Standarddrucker ok - sonst sw
 
Hallo,

ich drucke Bilder und Texte farbig. Ist der FarbLaserDrucker als Standard ausgewählt druckt alles in den richtigen Farben. Ist der Drucker nicht Standard wird alles in Graustufen gedruckt.

Delphi-Quellcode:
//Druckerauswahl
      ComboDruck.items:= printer.Printers;
//drucken
      Printer.PrinterIndex:= ComboDruck.ItemIndex;
      Printer.BeginDoc;
      SetMapMode(printer.canvas.handle, MM_LOMETRIC);
      SetTextAlign(handle, TA_LEFT+ TA_TOP);
      Font.Style:= [fsBold];
      Font.Height:= 60;
      Font.Color:= clred;
      with Printer.Canvas do begin
        TextOut(1500, -200, 'alles rot');
      end;
      Printer.EndDoc
Habt Ihr einen Tipp?

Gruß Oldie.

turboPASCAL 29. Mär 2007 19:12

Re: farbig drucken an Standarddrucker ok - sonst sw
 
Zitat:

Zitat von oldie
Ist der Farblaserdrucker als Standard ausgewählt druckt alles in den richtigen Farben. Ist der Drucker nicht Standard wird alles in Graustufen gedruckt.

Du druckst aber über den Farblaserdrucker auch wenn er nicht als Standard def. ist oder wie ? :gruebel:

Hobby-Programmierer 29. Mär 2007 20:19

Re: farbig drucken an Standarddrucker ok - sonst sw
 
Nabend ...,
Zitat:

Zitat von oldie
... Ist der FarbLaserDrucker als Standard ausgewählt druckt alles in den richtigen Farben. Ist der Drucker nicht Standard wird alles in Graustufen gedruckt.

Vielleicht einfach mal prüfen ob der 'nicht Standard' Drucker im System überhaupt als Farbdrucker registriert ist.
Delphi-Quellcode:
if (GetDeviceCaps(Printer.Handle, BITSPIXEL) * GetDeviceCaps(Printer.Handle, PLANES)) = 1 then
  ShowMessage('Farbdrucker');
oder aber die Anzahl der Farben ermitteln
Delphi-Quellcode:
GetDeviceCaps(Printer.Handle, numcolors)
Grundsätzlich solltest du FontColor aber über das Canvas setzen
Delphi-Quellcode:
Printer.Canvas.Font.Color:= clred
Was mir noch gerade einfällt: Wenn dein Farblaser nicht als Standard eingetragen ist, welcher ist es dann? Vielleicht ein SW-Drucker?

LG Mario

DP-Maintenance 30. Mär 2007 05:11

DP-Maintenance
 
Dieses Thema wurde von "SirThornberry" von "Programmieren allgemein" nach "VCL / WinForms / Controls" verschoben.

oldie 30. Mär 2007 17:09

Re: farbig drucken an Standarddrucker ok - sonst sw
 
Hallo

auf dem Rechner sind zwei Drucker installiert. Ein SW- und ein Farbdrucker. Standarddrucker soll der SW-Drucker sein und die Farbausgabe nur in seltenen Fällen stattfinden. Um an den Fehler zukommen habe ich die Drucker versuchsweise einfach getauscht.

@Matti
es handelt sich beidesmal um den selben FarbDrucker.

@Hobby-Programmierer
Zitat:

Grundsätzlich solltest du FontColor aber über das Canvas setzen
werde ich testen

Gruß Oldie


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:04 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz