在Rave Reports中打印图像

时间:2009-11-24 06:10:41

标签: delphi rave-reports

我在Delphi 2009和Rave Reports中开发了一个应用程序。我想在报告中打印一张图片。我该如何实现呢?

非常感谢任何建议。

2 个答案:

答案 0 :(得分:0)

使用Draw(X,Y:Double; Graphic:TGraphic);除非您正在绘制位图,否则TBaseReport后代的方法。在这种情况下,使用TBaseReport.PrintBitmap(X,Y:Double; ScaleX,ScaleY:Double; Bitmap:TBitmap);或PrintBitmapRect(X1,Y1,X2,Y2:Double;位图:TBitmap);

Draw()记录在ms-help中的D2009帮助文件中://embarcadero.rs2009/Rave/draw.htm

var   
  MyLogo: TGraphic;
begin
  MyLogo := TMetafile.Create;
  try
    MyLogo.LoadFromFile('MYLOGO.WMF');
    RvNDRWriter1.Draw(1.0,2.0,MyLogo);
  finally
    MyLogo.Free;
  end; { tryf }
end;

您可以在Delphi 2009帮助文件中找到PrintBitmap的示例,主题为ms-help://embarcadero.rs2009/Rave/printbitmap.htm - 该页面上有PrintBitmapRect()的链接。

// Print MyBitmap in upper left corner four times its size
RvNDRWriter1.PrintBitmap( 1.0, 1.0, 2.0, 2.0, MyBitmap );

答案 1 :(得分:0)

我对Rave Reports存在同样的问题,这取决于您要预览或打印的图像类型。如果它是WMF,你可以使用Ken White的例子:

var   
  MyLogo: TGraphic;
begin
  MyLogo := TMetafile.Create;
  try
    MyLogo.LoadFromFile('MYLOGO.WMF');
    RvNDRWriter1.Draw(1.0,2.0,MyLogo);
  finally
    MyLogo.Free;
  end; { tryf }
end;

但使用BMP时:

RvNDRWriter1.PrintBitmap( 1.0, 1.0, 2.0, 2.0, MyBitmap );

使用JPEG图像时:在使用调用RvNDRWriter1之前,必须首先将JPEG转换为BMP。

Jpeg2bmp('temp.bmp',jpegfile);
pic1.picture.loadfromfile('temp.bmp');
pic1.Visible:=true;