存:var
M:TMemoryStream; if Image1.Picture.Bitmap = nil then exit;
M := TMemoryStream.Create;
Image1.Picture.Graphic.SaveToStream(M);
..
q1.parameters[2].LoadFromStream(M,ftBlob);//照片
execsql;
M.Free;
取:
mStream:=TMemoryStream.Create;
JpgFile:=TJPEGImage.Create;
TBlobField(FieldByName('hy_zp')).SaveToStream(mStream);
try
mStream.Position :=0;
JpgFile.LoadFromStream(MStream);
image1.Picture.Assign(JpgFile);
except
begin
TBlobField(FieldByName('hy_zp')).SaveToStream(mStream);
mStream.Position :=0;
image1.Picture.Bitmap.LoadFromStream(MStream);
end;
end;
mStream.Free;
M:TMemoryStream; if Image1.Picture.Bitmap = nil then exit;
M := TMemoryStream.Create;
Image1.Picture.Graphic.SaveToStream(M);
..
q1.parameters[2].LoadFromStream(M,ftBlob);//照片
execsql;
M.Free;
取:
mStream:=TMemoryStream.Create;
JpgFile:=TJPEGImage.Create;
TBlobField(FieldByName('hy_zp')).SaveToStream(mStream);
try
mStream.Position :=0;
JpgFile.LoadFromStream(MStream);
image1.Picture.Assign(JpgFile);
except
begin
TBlobField(FieldByName('hy_zp')).SaveToStream(mStream);
mStream.Position :=0;
image1.Picture.Bitmap.LoadFromStream(MStream);
end;
end;
mStream.Free;
var
M:TMemoryStream; if Image1.Picture.Bitmap.Empty then exit;
M := TMemoryStream.Create;
try
Image1.Picture.Graphic.SaveToStream(M);
..
q1.parameters[2].LoadFromStream(M,ftBlob);//照片
execsql;
finally
M.Free;
end;取:
mStream:=TMemoryStream.Create;
try
TBlobField(FieldByName('hy_zp')).SaveToStream(mStream);
mStream.Position :=0;
image1.Picture.Bitmap.LoadFromStream(MStream);
finally
mStream.Free;
end;
//LZ代码有问题
//在取的图片为JPEG的格式时,应该这样
use
JPEG;
var
Mem: TMemoryStream;
MyJPEG:TJPEGImage;
begin
Mem:= TMemoryStream.Create;
MyJPEG:=TJPEGImage.Create;
try
//打开结果集
TBlobField(adoquery1.FieldByName('picture')).SaveToStream(Mem);
Mem.Position := 0;
MyJPEG.LoadFromStream(Mem);
Image1.Picture.Graphic:=MyJPEG;
finally
Mem.Free;
MyJPEG.free;
end;
原因:见VCL
procedure TPicture.LoadFromStream(Stream: TStream);
begin
Bitmap.LoadFromStream(Stream);//默认是以位图的形式打开
end;
//存的时候也不对 if Image1.Picture.Bitmap = nil then exit; --> if Image1.Picture.Graphic = nil then exit;