好久没来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 删除 郁闷都三天了,还没解决呀。 还没解决就不能连续回复三次。石沉大海了。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货