首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

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

2012-02-28 
IMAGE与QRDBIMAGE中显示的图片大小不一样,变型了,何解?好久没来CSDN发问题了。ifimage1.picture.Graphicn

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设置成按比例显示

热点排行