如何在QUICKREP中控制图片输出的比例,,,火急(15分)

  • 主题发起人 主题发起人 skyherohuang
  • 开始时间 开始时间
S

skyherohuang

Unregistered / Unconfirmed
GUEST, unregistred user!
各位父老乡亲:
在图片式报表中如何控制图片输出的比例,我也经有了代码,但不知道放在哪边比较合适或
有其它的方法???多指教!!
以下是我写的代码
var
bmp:tbitmap;
jpegimage1:Tjpegimage;
begin
if quof<>nil then
begin
qrImage2.picture.bitmap:=nil;
if table1['photo']<>'' then
//tabel1为数据表,其中含有一个图像字段
begin
jpegimage1:=tjpegimage.create;
bmp:=tbitmap.create;
jpegimage1.Assign(table1.FieldByName('photo'));
bmp.Height :=qrimage2.height;//输出图片的高
bmp.Width :=round((jpegimage1.width /jpegimage1.Height)* bmp.Height);//输出图片的宽
bmp.Canvas.StretchDraw(rect(0,0,bmp.Width,bmp.Height),jpegimage1);
qrimage2.Width:=bmp.Width;//image2的宽,它的高不变..
qriimage2.Picture.bitmap.Assign(bmp);
bmp.free;
jpegimage1.free;
end;
end;
 
代码有错:
1、jpegimage1.Assign(table1.FieldByName('photo'));
table1.filedbyname('photo')
是字段在数据库中的值,不能直接这样做,要用到stream才行
2、bmp.Canvas.StretchDraw(rect(0,0,bmp.Width,bmp.Height),jpegimage1);
StreachDraw只支持对Bmp类型,jpegimage1是jpeg的
如果你用的是rbreport等报表控件,你可以用dbimage绑定,然后这个控件有一个print..
什么的事件,你可以把这个放在那里,如果是qreport比较烦,你可以绑定一个char文件
的控件,这些控件有onprint事件,你把这个放在那里就行了,但别忘了在那里还要把
这个控件的text属性输出啊
 
接受答案了.
 
后退
顶部