我用了3 种方法,代码如下:
方法1:
Var
jpeg: TjpegImage;
Bmp:TBitmap;
begin
jpeg:= TJPEGImage.Create;
If OPenPictureDialog1.Execute Then
try
jpeg.LoadFromFile(OpenPictureDialog1.FileName);
try
bmp:= TBitmap.Create;
bmp.Assign(jpeg);
with Table1 do
begin
Append;
FieldByName('ImagePhoto').Assign(bmp);
Post;
end;
finally
bmp.free
end;
finally
jpeg.free
end;
end;
方法2:
Var
MemSt: TMemoryStream;
begin
MemSt := TMemoryStream.Create;
If OpenPictureDialog1.Execute Then
Try
MemSt.LoadFromFile(OpenPictureDialog1.FileName);
Table1.Append;
(Table1.FieldByName('Imagephoto') as TBlobField).LoadFromStream(MemSt);
Table1.Post;
Finally
MemSt.Free;
End;
end;
方法3:
Var
jpeg: TjpegImage;
Bmp:TBitmap;
begin
jpeg:= TJPEGImage.Create;
If OPenPictureDialog1.Execute Then
try
jpeg.LoadFromFile(OpenPictureDialog1.FileName);
try
bmp:= TBitmap.Create;
bmp.Assign(jpeg);
with Table1 do
begin
Append;
FieldByName('ImagePhoto').Assign(bmp);
Post;
end;
finally
bmp.free
end;
finally
jpeg.free
end;
end;