Stretchdraw eines Bildes in eine Drucker-canvas
Strecke, die Zeichnung einer Grafikformats in eine printer.canvas ist sehr schlecht. Hier ist eine bessere Lösung.
Verfahren DrawImage (Canvas: TCanvas; DestRect: TRect; ABitmap: TBitmap);
var
Header, Bits: Pointer;
HeaderSize: DWord;
BitsSize: DWord;
beginnen
GetDIBSizes (ABitmap.Handle, HeaderSize, BitsSize);
GetMem (Header, HeaderSize);
GetMem (Bits, BitsSize);
versuchen Sie
GetDIB (ABitmap.Handle, ABitmap.Palette, Header ^, Bit ^);
StretchDIBits (Canvas.Handle, DestRect.Left, DestRect.Top,
DestRect.Right, DestRect.Bottom,
0, 0, ABitmap.Width, ABitmap.Height, Bits,TBitmapInfo(Header^),
DIB_RGB_COLORS, SRCCOPY);
Schließlich
FreeMem(Header);
FreeMem(Bits);
Ende;
Ende;
Stretchdraw eines Bildes in eine Drucker-canvas
Stretchdraw eines Bildes in eine Drucker-canvas : Mehreren tausend Tipps, um Ihr Leben einfacher machen.
Strecke, die Zeichnung einer Grafikformats in eine printer.canvas ist sehr schlecht. Hier ist eine bessere Lösung.
Verfahren DrawImage (Canvas: TCanvas; DestRect: TRect; ABitmap: TBitmap);
var
Header, Bits: Pointer;
HeaderSize: DWord;
BitsSize: DWord;
beginnen
GetDIBSizes (ABitmap.Handle, HeaderSize, BitsSize);
GetMem (Header, HeaderSize);
GetMem (Bits, BitsSize);
versuchen Sie
GetDIB (ABitmap.Handle, ABitmap.Palette, Header ^, Bit ^);
StretchDIBits (Canvas.Handle, DestRect.Left, DestRect.Top,
DestRect.Right, DestRect.Bottom,
0, 0, ABitmap.Width, ABitmap.Height, Bits,TBitmapInfo(Header^),
DIB_RGB_COLORS, SRCCOPY);
Schließlich
FreeMem(Header);
FreeMem(Bits);
Ende;
Ende;
Stretchdraw eines Bildes in eine Drucker-canvas
By Wiezutun
Stretchdraw eines Bildes in eine Drucker-canvas : Mehreren tausend Tipps, um Ihr Leben einfacher machen.