用这个函数来读取:
procedure TForm1.GetPicture(pos:string;TempQuery: TADOQuery);
var
MS_JpegStream:TMemoryStream;
begin
try
MS_JpegStream:=TMemoryStream.Create;
with Query do
begin
close;
sql.clear;
sql.Add('select image from pic where pos=:pos');
Parameters.ParamByName('pos').value:=pos;
Open;
end;
if tempquery.FieldByName('image').isnull then
begin
image1.Picture.Graphic:=nil;
end
else
begin
(tempQuery.FieldByName('image') as tblobfield).savetostream(MS_JpegStream);
image1.Picture.Graphic:=nil;
image1.Picture.Graphic:=TjpegImage.Create//这里好像有问题??
MS_JpegStream.Position:=0;
image1.Picture.Graphic.LoadFromStream(MS_JpegStream);
end; finally
MS_JpegStream.Free;
end;
end;
调用: getpicture(id.text,Query);问题是:有的图片能正常显示在image1控件上,但有一部分图片不能正常显示,有如下提示:“jpeg error #41”,什么原因??图片都是.jpg 和 .bmp的。
procedure TForm1.GetPicture(pos:string;TempQuery: TADOQuery);
var
MS_JpegStream:TMemoryStream;
begin
try
MS_JpegStream:=TMemoryStream.Create;
with Query do
begin
close;
sql.clear;
sql.Add('select image from pic where pos=:pos');
Parameters.ParamByName('pos').value:=pos;
Open;
end;
if tempquery.FieldByName('image').isnull then
begin
image1.Picture.Graphic:=nil;
end
else
begin
(tempQuery.FieldByName('image') as tblobfield).savetostream(MS_JpegStream);
image1.Picture.Graphic:=nil;
image1.Picture.Graphic:=TjpegImage.Create//这里好像有问题??
MS_JpegStream.Position:=0;
image1.Picture.Graphic.LoadFromStream(MS_JpegStream);
end; finally
MS_JpegStream.Free;
end;
end;
调用: getpicture(id.text,Query);问题是:有的图片能正常显示在image1控件上,但有一部分图片不能正常显示,有如下提示:“jpeg error #41”,什么原因??图片都是.jpg 和 .bmp的。
解决方案 »
- 浮点型赋值
- 安装msinet.ocx后,把控件拖出来时,最提示License information for TInet not found .you cannot use this control in design mode
- RE:控件安装问题?
- 拨号的问题...
- 可用分又多了不少,想学葛朗台,可是坚持不住了,进来吧,都给你们算了....
- 问大家个菜鸟问题,呵呵!
- 如何连接postgresql?谁有PostgresDAC的源代码?
- 给大家分,前段时间提问题时给的分数都太少,补偿了3
- 时间算法.很简单(在线)
- 如何建立同ADO相同的所有者
- 强烈要求斑竹开一个delphi开发web专栏
- 用delphi 如何压缩数据库文件?我的access 数据库文件太大,我想压缩后copy到软盘中,不知有什么方法?
有的jpg文件可以显示,只有部分不能显示???有的bmp文件也不能显示???