用vfp6.0保存的jpg图片用Delphi显示?
数据库为sql2000, 有一类型为image的字段保存了jpg图片
(前端用VFP6.0写的程式保存)
(用ultraEdit打开图片包含"Visual FoxPro MSPhotoEd.3"信息)
现怎样才能用Delphi显示图片?
问题点数:100、回复次数:9Top
1 楼jpyc(九品-沉默)回复于 2003-12-02 17:19:17 得分 30
没具体试过,参考一下:
http://218.56.11.178:8020/web/index.aspx
-》软件基地-》搜索-》数据库图片bmp/jpg存储(Accsee)Top
2 楼lhy007(寒鱼)回复于 2003-12-03 08:30:36 得分 0
To jpyc(九品御厨-进军嵌入式)
http://218.56.11.178:8020/web/index.aspx 用户注册不了!
---------------
如果图片包含"Paint.Picture"信息,
只要MemoryStream.Seek(i, soFromBeginning)用Delphi显示就非常容易.
但包含"Visual FoxPro MSPhotoEd.3信息",
我查看到jpg图片比从SQL保存来的*.dat文件小差不多十倍!
Top
3 楼lhy007(寒鱼)回复于 2003-12-05 08:37:46 得分 0
就要结贴了问题不没解决!Top
4 楼lhy007(寒鱼)回复于 2003-12-08 13:55:43 得分 0
救命啊!Top
5 楼caoruomou(caoruomou)回复于 2003-12-08 14:21:20 得分 40
begin
Result := '未取得数据';
InStream :=TMemoryStream.Create;
OutStream := TMemoryStream.Create;
Temp4JPEG := TJPEGImage.Create;
try
GetShapeRectBitmap;
Temp4JPEG.Assign(image3.Picture.Bitmap );
Temp4JPEG.CompressionQuality := 80;
//Temp4JPEG.SaveToFile('c:\scan.jpg'); //test
Temp4JPEG.SaveToStream(InStream);
OutStream.LoadFromStream(InStream);
SetLength(s, outStream.Size);
OutStream.Read(s[1], OutStream.Size);
s := Base64En(s);
//OutStream.clear;
//OutStream.Write(s[1], Length(s)); //test
//OutStream.SaveToFile('c:\scan.txt'); //test
Result := s;Top
6 楼lhy007(寒鱼)回复于 2003-12-10 09:17:12 得分 0
To: caoruomou(caoruomou)
还是不行啊!Top
7 楼lhy007(寒鱼)回复于 2003-12-11 17:51:38 得分 0
真的不能解决了!Top
8 楼lhy007(寒鱼)回复于 2003-12-18 09:15:53 得分 0
解决不了看来领不了工资过年了!
命苦啊!Top
9 楼flyforlove(吾将远去)回复于 2003-12-18 09:26:15 得分 30
var
pjpg:tjpegimage;
pic:TMemoryStream;
begin
pjpg:=tjpegimage.Create;
pic:=TMemoryStream.Create;
TBlobField(dataset.FieldByName('Img')).savetoStream(pic);
pic.positon:=0;
pjpeg.LoadFromStream(pic);
image.graphi.bmp.assign(pjpeg);
end;
Top




