本人做了一个股金管理的软件,数据库存的是jpg文件,经过转换后为什么不能在qrdbimage显示呢?单独可以输出成bmp文件!!!谢谢各位高手给予相助。
代码如下:
void   __fastcall   TNewForm::QuickRep1BeforePrint(TCustomQuickRep   *Sender,
            bool   &PrintReport)
{
          bmp1   =   new   Graphics::TBitmap();
        jp1   =   new   TJPEGImage();
        ms1   =   new   TMemoryStream();

      //   ADOQuery1-> FieldByName( "birthdate ")-> Value;
        //   TADOBlobstream.Create(PrintForm-> ADOQuery1-> FieldByName( "photo ")-> Value;
        //TADOBlobstream.Create(((TBlobField*)(PrintForm-> ADOQuery1-> FieldByName( "photo ")))-> SaveToStream(ms),   bmRead);
        //   SaveToStream(   ms   );
        //ms=TBlobStream.Create(((TBlobField*)(PrintForm-> ADOQuery1-> FieldByName( "photo "))),   bmRead);

        //   ((TBlobField*)(PrintForm-> ADOQuery1-> FieldByName( "photo ")))-> SaveToStream(ms);
        ms1=PrintForm-> ADOQuery1-> CreateBlobStream(PrintForm-> ADOQuery1-> FieldByName( "photo "),   bmRead);
        ms1-> Position   =   0;
        jp1-> LoadFromStream(   ms1   );    
        //jp1-> SaveToFile( "c:\photo1.jpg ");
        jp1-> DIBNeeded();
        bmp1-> Assign(jp1);
        if   (bmp1-> Empty==true)
        {ShowMessage( "bmp文件为非法! ");
            return;
            }
        //bmp-> LoadFromStream(ms1);
      //   bmp1-> SaveToFile( "c:\photo.bmp ");
        photo-> Picture-> Bitmap-> Assign(bmp1);

    //   photo-> Picture-> Assign(bmp1);

  delete   bmp1;
  delete   jp1;
  delete   ms1;

}

该回复于2008-07-10 02:39:09被版主删除