2009-11-24 83 views
1

我有一個在Delphi 2009和Rave Reports中開發的應用程序。我想在報告中打印一張圖片。我將如何實現這個?在Rave Reports中打印圖像

任何建議將非常感激。

回答

0

使用Draw(X,Y:Double; Graphic:TGraphic); TBaseReport後裔的方法,除非您正在繪製位圖。在這種情況下,使用TBaseReport.PrintBitmap(X,Y:Double; ScaleX,ScaleY:Double; Bitmap:TBitmap);或PrintBitmapRect(X1,Y1,X2,Y2:Double; Bitmap:TBitmap);

抽獎()是記錄在MS-幫助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); 
+0

我注意到這些答案中的大部分(關於Rave)通常假設人們完全通過代碼編寫報告。沒有視覺設計師嗎? (我仍然使用它,但是,Delphi對我們來說是Legacy)。 – Tobiasopdenbrouw 2010-07-14 19:25:28

0

我與Rave Reports有同樣的問題,它取決於您想要預覽或打印的圖像類型。如果這是您可以使用的肯·懷特的例子一個WMF:

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圖像時:你有JPEG先轉換爲BMP使用之前調用RvNDRWriter1。

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