图片保存
var jstream:tmemorystream;
bmp:tbitmap;
jpeg:tjpegimage;
begin
if opendialog1.Execute then
try
jstream:=tmemorystream.create;
bmp:=tbitmap.Create;
jpeg:=tjpegimage.Create;
if extractfileext(opendialog1.FileName)='.bmp' then
begin
bmp.LoadFromFile(opendialog1.FileName);
jpeg.Compress;
jpeg.Assign(bmp);
end
else if extractfileext(opendialog1.FileName)='.jpg' then
begin
jpeg.LoadFromFile(opendialog1.FileName);
end;
jpeg.SaveToStream(jstream);
adotable3.FieldValues['相片'];
tblobfield(adotable3.FieldByName('相片')).LoadFromStream(jstream);
finally
bmp.Free;
jpeg.Free;
jstream.Free;
end;
adotable3.Post;
end;图片显示:var tempstream:TStringStream;
tempjpeg:TJPEGImage;
begin
try
tempstream:=TStringStream.Create(' ');
TBlobField(adotable3.FieldByName('相片')).SaveToStream(tempstream);
tempstream.Position:=0;
tempjpeg:=TJPEGImage.Create;
tempjpeg.LoadFromStream(tempstream);
Image1.Picture.Bitmap.Assign(tempjpeg);
finally
tempstream.Free;
tempjpeg.Free;
end;
end;在保存图片代码中不会出现问题,在显示图片代码中出错:'jpeg error #52'
var jstream:tmemorystream;
bmp:tbitmap;
jpeg:tjpegimage;
begin
if opendialog1.Execute then
try
jstream:=tmemorystream.create;
bmp:=tbitmap.Create;
jpeg:=tjpegimage.Create;
if extractfileext(opendialog1.FileName)='.bmp' then
begin
bmp.LoadFromFile(opendialog1.FileName);
jpeg.Compress;
jpeg.Assign(bmp);
end
else if extractfileext(opendialog1.FileName)='.jpg' then
begin
jpeg.LoadFromFile(opendialog1.FileName);
end;
jpeg.SaveToStream(jstream);
adotable3.FieldValues['相片'];
tblobfield(adotable3.FieldByName('相片')).LoadFromStream(jstream);
finally
bmp.Free;
jpeg.Free;
jstream.Free;
end;
adotable3.Post;
end;图片显示:var tempstream:TStringStream;
tempjpeg:TJPEGImage;
begin
try
tempstream:=TStringStream.Create(' ');
TBlobField(adotable3.FieldByName('相片')).SaveToStream(tempstream);
tempstream.Position:=0;
tempjpeg:=TJPEGImage.Create;
tempjpeg.LoadFromStream(tempstream);
Image1.Picture.Bitmap.Assign(tempjpeg);
finally
tempstream.Free;
tempjpeg.Free;
end;
end;在保存图片代码中不会出现问题,在显示图片代码中出错:'jpeg error #52'
解决方案 »
- 开发完成端口。WSAID_ACCEPTEX 怎么定义啊?
- dbcombobox可不可以实现这种功能,或是其它控件可以实现这个功能吗?在线等!
- adoqry下,插入两列新字段的语句时的问题!
- 求助|关于HOOK SEND的问题
- 【散分】好久没来了,狂散【散分】
- 谁知道大唐志诚怎么样啊
- 窗体是否可以放GIF动画?
- 怎样实现只有某个控件半透明(不是整个窗体半透明)??
- 如何像在设计时那样拖动一个label控件?
- DELPHI编程问题:用ADO支持下的ACCESS数据库如何在网络中使用?难道只能进行共享吗?最多有多少个用户同时打开它?
- char型数组中的数据如何转化为hex数据并用udp发送出去?
- Delphi7怎样安装使用水晶报表
var tempstream:TStringStream;
改为:
var tempstream:TMemoryStream;把
tempstream:=TStringStream.Create(' ');
改为
tempstream:=TMemoryStream.Create;试试!