Allerdings habe ich noch folgendes Problem: Die bilder kommen nicht richtig auf der Printer.canvas an: das ganze sieht dann hinterher wie folgt aus (siehe anhang) hat jemand eine Idee, woran dies liegen kann??
Ich benutze nun diesen Code um auf die Printercanvas zu schreiben:
Delphi-Quellcode:
procedure EnhStretchDraw
( Canvas : TCanvas;
DestRect : TRect;
ABitmap : TBitmap );
var
Header, Bits : Pointer;
HeaderSize : DWord;
BitsSize : DWord;
begin
GetDIBSizes(ABitmap.Handle, HeaderSize, BitsSize);
GetMem(Header, HeaderSize);
GetMem(Bits, BitsSize);
try
GetDIB(ABitmap.Handle, ABitmap.Palette, Header^, Bits^);
StretchDIBits(Canvas.Handle, DestRect.Left, DestRect.Top,
DestRect.Right, DestRect.Bottom,
0, 0, ABitmap.Width, ABitmap.Height, Bits,TBitmapInfo(Header^),
DIB_RGB_COLORS, SRCCOPY);
finally
FreeMem(Header);
FreeMem(Bits);
end;
end;
//edit: Richtig eingescannt werden Sie hingegen schon! Nur auf dem Fax wirds nicht richtig angezeigt!