2009-11-24 9 views
1

У меня есть приложение, которое разрабатывается в Delphi 2009 и Rave Reports. Я хотел бы иметь изображение, напечатанное в отчетах. Как я буду реализовывать это?Печать изображения в отчетах Rave

Любое предложение было бы очень оценено.

ответ

0

Использование рисунка (X, Y: Двойной; Графика: TGraphic); метод потомка TBaseReport, если вы не рисуете растровое изображение. В этом случае используйте TBaseReport.PrintBitmap (X, Y: Double; ScaleX, ScaleY: Double; Bitmap: TBitmap); или PrintBitmapRect (X1, Y1, X2, Y2: Double; Bitmap: TBitmap);

Draw() описана в файле справки D2009 в MS-справки: //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; 

Вы можете найти пример PrintBitmap в файле справки Delphi 2009 , topic 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

0

У меня такая же проблема с отчетами Rave, это зависит от того, какой тип изображения вы хотите просмотреть или распечатать. Если это 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); 

и при использовании IMAGE JPEG: вы должны преобразовать сначала JPEG в BMP перед использованием вызова RvNDRWriter1.

Jpeg2bmp('temp.bmp',jpegfile); 
pic1.picture.loadfromfile('temp.bmp'); 
pic1.Visible:=true; 
Смежные вопросы