触发方法:
1.从数据库表中找到记录,将图片字段导出成一文件,
2.将此文件加载到一个Image控件中,便会提示标题的错误提示,加载不成功。
代码:
//1.从数据库导图片字段另存为一文件
TBlobField(adoQuery.FieldByName('Content')).SaveToFile(FileName);
//2.使用image控件加载显示
Image1.Picture.Bitmap.LoadFromFile(FileName);
提示如标题错误的原因:
数据库中保存的图片格式与控件所要显示加载的图片所需要的格式不一致导致的。在上面中,数据库存进去的是Jpg的格式,而Image需要bmp格式的,故导致问题出现。
解决方法:
使用Jpeg.pas单元进行转化,代码如下:
use jpeg
var
imgMem: TMemoryStream;
JpgImg: TJpegimage;
begin
//.系列的Create...(略掉)
TBlobField(adoQuery.FieldByName('Content')).SaveToStream(imgMem);
imgMem.Position := 0;
JpgImg.LoadFromStream(imgMem);
Image1.Picture.Bitmap.Assign(JpgImg);