PDA

Ver la Versión Completa : Imprimir una imágen con la clase TPrinter


krewer
17-10-2015, 18:31:37
Antes de abrir un nuevo hilo y aprovechando que estamos en esto, como podria agregar una imagen en la impresion?

ecfisa
18-10-2015, 01:42:01
Hola krewer.
Antes de abrir un nuevo hilo y aprovechando que estamos en esto, como podria agregar una imagen en la impresion?
Moví tu mensaje como un hilo nuevo. Siempre que tengas un nueva consulta no dudes en abrir un nuevo hilo con ella, eso mejora los resultados en las búsquedas.


uses Printers;

procedure PrintImage(Pic: TPicture; const posX, posY: Integer);
var
R : TRect;
x, y: Integer;
begin
Printer.BeginDoc;
try
x := GetDeviceCaps(Printer.Handle, LogPixelsX) div Screen.PixelsPerInch;
y := GetDeviceCaps(Printer.Handle, LogPixelsY) div Screen.PixelsPerInch;
R := Rect(posX, posY, posX + Pic.Width * X, posy + Pic.Height * Y);
Printer.Canvas.StretchDraw(R, Pic.Graphic);
finally
Printer.EndDoc;
end;
end;


Ejemplo de uso:

procedure TForm1.btnPrintImageClick(Sender: TObject);
begin
PrintImage(Image1.Picture, 800, 250);
end;


Saludos :)