Einzelnen Beitrag anzeigen

Benutzerbild von Dani
Dani

Registriert seit: 19. Jan 2003
732 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Druck-Komponente für Bitmaps

  Alt 1. Aug 2004, 12:01
Merci!
Zitat:
Du solltest aber vorher den nichtbedruckbaren Rand von der Breite bzw. Höhe abziehen.
Woher weiß ich aber, wie groß der in Pixel ist?


PS: Wenn ich DruckSkalierung verwende wie in diesem Codebeispiel, wirft der Drucker nur eine leere Seite aus... ich seh den Fehler nicht.
Delphi-Quellcode:
procedure TPrintMGR.PrintBitmap(aBitmap: TBitmap);
var i: Integer;
    DrawRect: TRect;
begin
     {... Drucker auswählen usw.}
     BeginDoc;
     DruckSkalierung(DrawRect,
                     Printer.PageWidth,
                     Printer.PageHeight,
                     aBitmap.Width,
                     aBitmap.Height,
                     GetXDPI / 72,
                     GetYDPI / 72);
     DrawBitmap(Canvas,
                DrawRect,
                aBitmap); // Wie StretchDraw, verträgt sich aber besser mit Druckern
     EndDoc;
     {...}
end;
DrawRect sieht nach dem Aufruf von DruckSkalierung so aus:
Code:
Left: 4354646
Top: 1245114
Right: 4354645
Bottom: 1245113
Dagegen klappt es mit DrawRect := RECT(0, 0, Printer.PageWidth, Printer.PageHeight); bis auf die unberücksichtigten nicht bedruckbaren Bereiche ganz gut.

Gruß,
Dani
Dani H.
  Mit Zitat antworten Zitat