我在数据库中保存的是图片的地址,请怎么样才能把图片打印出来!!!

解决方案 »

  1.   

    靠,你20分怎么解决啊?
    你SQL的时候加入一个不存在的字段,然后动态LOAD
      

  2.   

    xthmpro_cn() : 这样我试了只能加入一个图片,如果有多条记录,怎么把想应的图片打印出来呢?
      

  3.   

    提示一下用QRImage,还是用QRDBImage?
      

  4.   

    在AfterOpen后循环每一条记录,然后加入,或者在beforeScroll,中Load,具体我就不用多说了把
      

  5.   

    提示一下用QRImage,还是用QRDBImage?用QRDBImage,因为我的建议是叫你在数据集中加入一个全部为NULL的图片字段,读取时再Load,用QRDBImage是优先选择的。
      

  6.   

    如果你是用FastReport 那你有福了,这是我做的项目里的一段,你正好能用上
    我的报表用的是主从表,主表Band名叫"CardBand",它的DataSet叫tblCard,我的图片是从数据库里以流的方式读出再打印到报表上的,你的只是存了图片的路径,
    原程序处理FastReport的OnBeginBand事件:
    procedure TMyData.frReport1BeginBand(Band: TfrBand);
    var
      cc:TfrView;
      tempStream:TMemoryStream;
      tempjpeg:TJPEGImage;
    begin
      //cc:=frReport1.FindObject('Picture1');
      if Band.Name='CardBand' then
      begin    tempstream:=TMemoryStream.Create;
        TBlobField(tblCard.FieldByName('HeadPic')).SaveToStream(tempstream);
        tempstream.Position:=0;
        tempjpeg:=TJPEGImage.Create;
        tempjpeg.LoadFromStream(tempstream);
        TfrPictureView(frReport1.FindObject('Picture1')).Picture.Bitmap.Assign(tempjpeg);    tempjpeg.Free;
        tempStream.Free;
      end;
    end;
    更改后的程序:
    procedure TMyData.frReport1BeginBand(Band: TfrBand);
    var
      tempjpeg:TJPEGImage;
    begin
      //cc:=frReport1.FindObject('Picture1');
      if Band.Name='CardBand' then
      begin
      
        tempjpeg:=TJPEGImage.Create;
        tempjpeg.LoadFromFile(tblCard.FieldByName('HeadPic').AsString);
        TfrPictureView(frReport1.FindObject('Picture1')).Picture.Bitmap.Assign(tempjpeg);    tempjpeg.Free;
      end;
    end;
      

  7.   

    补充一点,你的那个要显示图片的Band上一定要放一个TfrPictureView,名字改为Picture1
      

  8.   

    补充二点,如果你的图片是Bmp图处的话,要将tempjpeg改为TBitmap类型
      

  9.   

    QRImage1.Picture.LoadFromFile(ddwhform.ADOQuery2.fieldbyname('photo').AsString );在相对应的对象里的事件里写上就行了
      

  10.   

    非常谢谢 ylyn(李易)  现在已经解决!!!