Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Bitmap ausdrucken (https://www.delphipraxis.net/15189-bitmap-ausdrucken.html)

spacewolf 23. Jan 2004 15:59


Bitmap ausdrucken
 
Hallöle,

ich habe hier verschiedene Versuche hinter mir, ein TImage (per TPrinter) auszudrucken.
Aber es kommt immer nur n Schwarzweißbild dabei raus.
Gibt es dabei eine spezielle Einstellung folgenden Sourcecode habe ich verwendet.


Delphi-Quellcode:
var
  ScaleX, ScaleY: Integer;
  RR: TRect;
begin
  with Printer do
  begin
    PrinterIndex := printer_ComboBox.ItemIndex;
    BeginDoc;
    // Mit BeginDoc wird ein Druckauftrag initiiert.
    // The StartDoc function starts a print job.
    try
      ScaleX := GetDeviceCaps(Handle, logPixelsX) div PixelsPerInch;
      ScaleY := GetDeviceCaps(Handle, logPixelsY) div PixelsPerInch;
      // Informationen über die Auflösung
      // Retrieves information about the Pixels per Inch of the Printer.
      RR := Rect(0, 0, Print_Image.picture.Width * scaleX, Print_Image.Picture.Height * ScaleY);
      Canvas.StretchDraw(RR, Print_Image.Picture.Graphic);
      // An die Auflösung anpassen
      // Stretch to fit

    finally
      EndDoc;  //Methode EndDoc beendet den aktuellen Druckauftrag und schließt die
      // Textdatei-Variable.
      // Steht in finally - um auch bei Abbruch des Druckauftrages Papierausgabe
      // sicherzustellen
    end;
  end;

Tja, wie gesagt, trotz hübschen Farbdrucker nur schwarz weiß. :wall:
Hat jemand einen besseren Vorschlag ?


Der suchende und fragende Andreas

[edit=Luckie]BBCodes aktiviert, sonst macht es keinen Sinn sie zu benutzen. :roll: Mfg, Luckie[/edit]

scp 23. Jan 2004 16:51

Re: Bitmap ausdrucken
 
Hast du mal einen TPrinterDilaog vorgeschaltet?
Soweit ich weis tätig der alle Einstellungen automatisch, nur PrinterIndex reicht glaube ich nicht.

Also: falls dus noch nicht probiert hat:
Zieh einen TPrinterDialog auf dein Formular und schliesse den Code hiermit ein:

Delphi-Quellcode:
  If PrinterDialog1.Execute then
    begin
      // Restlicher Code hier
    end;

spacewolf 26. Jan 2004 07:27

Bitmap ausdrucken
 
doch die TPrinter.Index reicht um den anderen Drucker auszuwählen...
aber halt es bleibt schlicht und einfach s/w :-/

scp 26. Jan 2004 11:44

Re: Bitmap ausdrucken
 
Zitat:

Zitat von spacewolf
doch die TPrinter.Index reicht um den anderen Drucker auszuwählen...
aber halt es bleibt schlicht und einfach s/w :-/

Hast dus ausprobier? Im Printer-Dialog kann man ja noch mehr Einstellungen machen. Evtl. ist bei deinem Drucker s/w Standard-Einstellung und der Dialog lädt erst deine aktuellen Einstellungen (Farbe usw.) dazu.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:27 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