读书人

IMAGE与QRDBIMAGE中显示的图片大小不一

发布时间: 2012-02-28 13:06:35 作者: rapoo

IMAGE与QRDBIMAGE中显示的图片大小不一样,变型了,何解?



好久没来CSDN发问题了。

if image1.picture.Graphic <> nil then //避免image1中无图像保存出错
begin
strm := tmemorystream.Create ;
try
image1.Picture.Graphic.SaveToStream(strm);
strm.Position:=0;
tblobfield(adotable1.FieldByName( '样带 ')).LoadFromStream(strm);
adotable1.FieldByName( 'isbmp ').Value := 1; //BMP型图像数据
finally
strm.Free ;
end;

将IMAGE1中的图片保存到ACCESS数据库中。以BMP的格式。

//样带显示
strm := tadoblobstream.Create(tblobfield(adotable1.fieldbyname( '样带 ')),bmread);
try //try1
strm.position :=0;
image1.Picture.Graphic := nil; //清除图像
// BMP、JPEG两种图像数据必需分别处理
if adotable1.fieldbyname( 'isbmp ').AsBoolean =true then //BMP型图像数据


begin //begin11
bitmap := tbitmap.Create ;
try //try11
bitmap.LoadFromStream(strm);
adminhome2.Form4.image1.Picture.Graphic := bitmap;
finally
bitmap.Free;
end; //end try11
end //end begin11
else
if adotable1.fieldbyname( 'isbmp ').AsBoolean =false then //JPEG型图像数据
begin //begin12
jpegimage := tjpegimage.Create ;
try //try12
jpegimage.LoadFromStream(strm);
image1.Picture.Graphic := jpegimage;
finally
jpegimage.Free ;
end; //end try12


end; //end begin12
finally
strm.Free ;
end; //end try1


将ACCESS中的图片读出到IMAGE1中。没问题。



QRDBImage1.DataField:= '样带 ';

在QREPORT中的QRDBIMAGE1中显示图片,出现图片被放大了。

在QRDBIMAGE1的CENTER:=FALSE;STRETCH:=FALSE;没问题吧。
但为什么会放大,我想在报表打印的图片是原图。因为我的图片是通过扫描的,所以要保证图片的真实性,不能被放大。。。

有人遇到这情况吗。怎么解决?

谢谢。


回复人:yonge23(东方一剑) () 信誉:100 2007-7-24 20:26:06 删除

为什么没人解答?

回复人:yonge23(东方一剑) () 信誉:100 2007-7-24 23:36:08 删除

这儿怎么人气这么差。好久没来了。

回复人:qjinshanq() () 信誉:100 2007-7-25 9:20:33 删除

看看是不是把image的stretch设置为true了,如果想要根据图片的大小来显示,可以先取得图片的尺寸,然后设置image或DBimage的大小,然后才显示

回复人:yonge23(东方一剑) () 信誉:100 2007-7-25 10:01:53 删除

image或DBimage的stretch都已经设置为false,郁闷。

回复人:yonge23(东方一剑) () 信誉:100 2007-7-25 17:24:15 删除



回复人:yonge23(东方一剑) () 信誉:100 2007-7-26 12:57:58 删除

郁闷都三天了,还没解决呀。


还没解决就不能连续回复三次。石沉大海了。

[解决办法]
你把QuickReport设置成按比例显示

读书人网 >.NET

热点推荐