嗨伙伴我想打印我生成的图片我使用下面的代码
Printer.BeginDoc;
Printer.Canvas.Draw(0,0,img1.Picture.Bitmap);
Printer.EndDoc;
Run Code Online (Sandbox Code Playgroud)
它的工作原理,但它打印的图像非常小,我如何打印屏幕上显示的图像的实际大小?
非常感谢.
你可以打个电话Canvas.StretchDraw().但是,要为结果做好准备,不要太令人印象深刻.尝试以这种方式缩放光栅图像将导致非常块状的结果.矢量图像是您需要的,以便能够扩展到打印机分辨率.
var
Scale: Integer;
...
Scale := Min(
Printer.PageWidth div Bitmap.Width,
Printer.PageHeight div Bitmap.Height
);
Printer.Canvas.StretchDraw(
Rect(0, 0, Bitmap.Width*Scale, Bitmap.Height*Scale),
Bitmap
);
Run Code Online (Sandbox Code Playgroud)
我在这里选择的缩放将保留纵横比,并在打印时使图像尽可能大.