请看过来!: 图片回显问题

weiyou 2002-04-16 11:11:50
我在BCB中,需要将图片存在数据库里,我办到了,可将TImage能显示的图片都存到数据库里面,但当从数据库里将数据提出再显示时,出现问题:

只能显示 BMP and ICO格式的图片,其它格式通用的有问题,不能显示,如jpg图片

不能采用流输出的方法回显到TImage控件中,

帮帮我解决这个问题?

...全文
205 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xdspower 2002-04-19
  • 打赏
  • 举报
回复
gif确实有问题,这主要是因为格式是有版权的!没有必要就不要用。
weiyou 2002-04-19
  • 打赏
  • 举报
回复
若不用专门的控件,可否完成

我用过TGifImage,可对Gif静态图片可用,但对动画不行,系统一直运行,不提示,对3k的小动画就如是, BCB说只能在BCB5下可无问题,我是在BCB6下的.

Geranium 2002-04-17
  • 打赏
  • 举报
回复
关注,GIF我不会~
kingcaiyao 2002-04-17
  • 打赏
  • 举报
回复
对于gif你需要下载专门的控件来对它进行操作。
weiyou 2002-04-17
  • 打赏
  • 举报
回复
两位答的思路都对,jpg我解决了,GIF是否有好办法解决
Geranium 2002-04-17
  • 打赏
  • 举报
回复
TMemoryStream *stmTemp = new TMemoryStream();
stmTemp->Seek( 0 ,soFromBeginning ) ;
dstPhotos->First() ;
iCount = 0 ;
while( !dstPhotos->Eof )
{
//装载照片
stmField = (TBlobField *)dstPhotos->FieldByName("照片");
stmBlob = new TBlobStream( stmField ,bmRead ) ;
stmBlob->Seek( 0 ,soFromBeginning ) ;
stmTemp->CopyFrom( stmBlob ,stmBlob->Size ) ;
dstPhotos->Next() ;
delete stmBlob ;
iCount ++ ;
}
if ( iCount > 0 )
{
stmJPG = new TJPEGImage();
stmTemp->Seek( 0 ,soFromBeginning ) ;
stmJPG->LoadFromStream( stmTemp ) ;
bmpPhoto->Assign( stmJPG ) ;
delete stmJPG ;
delete stmTemp ;
}

jishiping 2002-04-17
  • 打赏
  • 举报
回复
对于JPEG,你可以使用TJPEGImage控件。
TJPEGImage* Jpg = new TJPEGImage;
Jpg->LoadFromStream(...);
Image1->Picture->Bitmap->Assign(Jpg);
delete Jpg;

13,870

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧