Bitmap image is not valid错误,能正确显示图片的再给200分其它顶者有分 我用Dbimage连接数据库的Image(Access里看到数据类型是Ole对像,在SQL数据库里看到的是数据类型是Image长度为16,在SQL数据库字段里看到的内容是<Binary>)字段请问如何才能读出这里面的数据并显示图形 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可能是你的二进制字段并不是BMP数据,将报上述错误。你可以用一个TMemoryStream先把数据读进来,用ReadBuffer,判断一个头两个字节是不是BM。(JPEG是$D8FF) 用Timage可以显示出来,各种类型的图片都能显示。我做过这样的东西,不是很难的 用流显示就行了varms:TStringStream;bmp:Tbitmap;AppPath:string;begin try AppPath := ExtractFilePath(Application.ExeName); if fileexists(AppPath+'temp.bmp') then deletefile(AppPath+'temp.bmp'); ms:=TstringStream.Create(''); TBlobField(adsmasterdata.FieldByName('datum_towner')).SaveToStream(ms); ms.Position :=0; bmp := tbitmap.Create; bmp.LoadFromStream(ms); Image.Picture.Assign(bmp); except end; 一维静态数组问题,新手求指教。 ADODataSet1.Recordset赋给一个OleVariant变量后转成Stream出错,大家帮看看 可以在 Delphi 下用的.哪个skin 可以免费使用?可以商用. 关于TWebBrowser的一个难题! 语法问题 关于一个继承的问题 请指点!!! 怎样彻底Free掉动态创建的webbrowser,释放占用的内存??---Free好像不能,Quit也不可以! 如何獲得聚焦?? 请问各位高手一个简单的问题 TstringGrid使用问题! StringGrid能不能实现goColSelect功能?
你可以用一个TMemoryStream先把数据读进来,用ReadBuffer,判断一个头两个字节是不是BM。(JPEG是$D8FF)
var
ms:TStringStream;
bmp:Tbitmap;
AppPath:string;
begin
try
AppPath := ExtractFilePath(Application.ExeName);
if fileexists(AppPath+'temp.bmp') then
deletefile(AppPath+'temp.bmp');
ms:=TstringStream.Create('');
TBlobField(adsmasterdata.FieldByName('datum_towner')).SaveToStream(ms);
ms.Position :=0;
bmp := tbitmap.Create;
bmp.LoadFromStream(ms);
Image.Picture.Assign(bmp);
except
end;