关于画布打印的问题 我想把IMAGE1.CANVAS的东西赋给PRINTER.CANVAS里面。但是不行啊~~~~应该怎么做?我不是把一个图片给PRINTER.CANVAS啊。而是一个CANVAS(请注意)! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 m_Bitmap := TBitMap.Create; m_Bitmap.Canvas.Font.Size := 10; m_Bitmap.PixelFormat:= pf16bit; m_Bitmap.Canvas.CopyRect(rect(0, 0, 100,100), Canvas, rect(0, 0, 100, 100)); with Printer do try BeginDoc; // ** R := Rect(0, 0, 100, 100); Canvas.StretchDraw(R, m_BitMap); // ** finally EndDoc; // ** end; 打印图象 :记得添加Printers单元 procedure TForm1.Button1Click(Sender: TObject); var ScaleX, ScaleY: Integer; R: TRect; begin Printer.BeginDoc; // ** with Printer do try ScaleX := GetDeviceCaps(Handle, logPixelsX) div PixelsPerInch; ScaleY := GetDeviceCaps(Handle, logPixelsY) div PixelsPerInch; R := Rect(0, 0, Image1.Picture.Width * ScaleX, Image1.Picture.Height * ScaleY); Canvas.StretchDraw(R, Image1.Picture.Graphic); // ** finally EndDoc; // ** end; end; Delphi 连接数据库高手进! 求教,如何用delphi读取xml 传奇自动发言程序 怎样列举出MS SQL Server中某个用户下所有的数据库名? 100分请教:New、Delete、GetMem、Dispose的区别和联系 如何重读注册表的一部分? 急!!.关于dbedit 查询 使用API如何检测机器配置有多少Modem? 关于RasEnumConnetions的问题 Delphi连接数据库的时候出现登陆窗口怎么去掉? 如何用ProgressBar来显示frReport的进度??
m_Bitmap := TBitMap.Create;
m_Bitmap.Canvas.Font.Size := 10;
m_Bitmap.PixelFormat:= pf16bit;
m_Bitmap.Canvas.CopyRect(rect(0, 0, 100,100), Canvas, rect(0, 0, 100, 100)); with Printer do
try
BeginDoc; // **
R := Rect(0, 0, 100, 100);
Canvas.StretchDraw(R, m_BitMap); // **
finally
EndDoc; // **
end;
var
ScaleX, ScaleY: Integer;
R: TRect; begin
Printer.BeginDoc; // **
with Printer do
try
ScaleX := GetDeviceCaps(Handle, logPixelsX) div PixelsPerInch;
ScaleY := GetDeviceCaps(Handle, logPixelsY) div PixelsPerInch;
R := Rect(0, 0, Image1.Picture.Width * ScaleX,
Image1.Picture.Height * ScaleY);
Canvas.StretchDraw(R, Image1.Picture.Graphic); // **
finally
EndDoc; // **
end;
end;