C++Builder 程序员博客
29 Jul
本人做了一个股金管理的软件,数据库存的是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被版主删除