Delphi中显示字段中的图像
//感谢大家的支持,问题已搞惦,总结如下:
//用Image控件显示表中的GIF、JPEG格式图像,可以用流的方式和创建临时文件的方式显示,
//我的Image控件支持GIF、JPEG等图像,以下已在Win98+Delphi5.0下通过。
procedure TMainForm.ShowGIFBtnClick(Sender: TObject);
var
AGif: TGIFImage;
MS: TMemoryStream;
begin
AGif :=TGIFImage.Create;
try
MS := TMemoryStream.Create;
try
TBlobField(Table1.FieldByName('GifField')).SaveToStream(MS);
//此时MS.Position指针位置在Gif文件的最后一个字节
//下面是关键,我搞了一天才搞惦,哈哈......
MS.Position:=0;//只有将其复位才能显示出来
AGif.LoadFromStream(MS);
Image1.Picture.Bitmap.Assign(AGif);
finally
MS.Free;
end;
finally
AGif.Free;
end;
end;
//要显示Jpeg图像需要加入 uses Jpeg;
procedure TMainForm.ShowJPEGBtnClick(Sender: TObject);
var
AJpeg: TJpegImage;
MS: TMemoryStream;
begin
AJpeg :=TJpegImage.Create;
try
MS := TMemoryStream.Create;
try
TBlobField(Table1.FieldByName('JpegField')).SaveToStream(MS);
MS.Position:=0;//加上这一句后搞惦,哈哈......
AJpeg.LoadFromStream(MS);
Image1.Picture.Bitmap.Assign(AJpeg);
finally
MS.Free;
end;
finally
AJpeg.Free;
end;
end;
//用此创建临时文件的方法显示
procedure TMainForm.ShowTMPBtnClick(Sender: TObject);
var
AGif:TGIFImage;
begin
TBlobField(Table1.FieldByName('GifField')).SaveToFile('c:\temfile.gif');
AGif:=TGIFImage.Create;
AGif.LoadFromFile('c:\temfile.gif');
Image1.Picture.Graphic:=AGif;
DeleteFile('c:\temfile.gif');
end;
http://topic.csdn.net/t/20010607/20/149990.html
我想显示 Paradox 表中的GIF图像,表中有一个Graphic字段,其中放入BMP位图,可以用DBimage显示,但放入GIF无法显示。
在表中设一BLOB字段,放入了GIF或JPG格式图像,用下面流的方式也不能在Image中显示:
aStream := TBlobStream.Create(theGifField, bmRead);
Image.Picture.Graphic.LoadFromStream( aStream );
aStream.Free;
请问如何能够显示。
//用Image控件显示表中的GIF、JPEG格式图像,可以用流的方式和创建临时文件的方式显示,
//我的Image控件支持GIF、JPEG等图像,以下已在Win98+Delphi5.0下通过。
procedure TMainForm.ShowGIFBtnClick(Sender: TObject);
var
AGif: TGIFImage;
MS: TMemoryStream;
begin
AGif :=TGIFImage.Create;
try
MS := TMemoryStream.Create;
try
TBlobField(Table1.FieldByName('GifField')).SaveToStream(MS);
//此时MS.Position指针位置在Gif文件的最后一个字节
//下面是关键,我搞了一天才搞惦,哈哈......
MS.Position:=0;//只有将其复位才能显示出来
AGif.LoadFromStream(MS);
Image1.Picture.Bitmap.Assign(AGif);
finally
MS.Free;
end;
finally
AGif.Free;
end;
end;
//要显示Jpeg图像需要加入 uses Jpeg;
procedure TMainForm.ShowJPEGBtnClick(Sender: TObject);
var
AJpeg: TJpegImage;
MS: TMemoryStream;
begin
AJpeg :=TJpegImage.Create;
try
MS := TMemoryStream.Create;
try
TBlobField(Table1.FieldByName('JpegField')).SaveToStream(MS);
MS.Position:=0;//加上这一句后搞惦,哈哈......
AJpeg.LoadFromStream(MS);
Image1.Picture.Bitmap.Assign(AJpeg);
finally
MS.Free;
end;
finally
AJpeg.Free;
end;
end;
//用此创建临时文件的方法显示
procedure TMainForm.ShowTMPBtnClick(Sender: TObject);
var
AGif:TGIFImage;
begin
TBlobField(Table1.FieldByName('GifField')).SaveToFile('c:\temfile.gif');
AGif:=TGIFImage.Create;
AGif.LoadFromFile('c:\temfile.gif');
Image1.Picture.Graphic:=AGif;
DeleteFile('c:\temfile.gif');
end;
http://topic.csdn.net/t/20010607/20/149990.html
我想显示 Paradox 表中的GIF图像,表中有一个Graphic字段,其中放入BMP位图,可以用DBimage显示,但放入GIF无法显示。
在表中设一BLOB字段,放入了GIF或JPG格式图像,用下面流的方式也不能在Image中显示:
aStream := TBlobStream.Create(theGifField, bmRead);
Image.Picture.Graphic.LoadFromStream( aStream );
aStream.Free;
请问如何能够显示。
标签: Delphi

0 条评论:
发表评论
<< 主页