BMP To JPG(100分)

  • 主题发起人 whitecloud
  • 开始时间
W

whitecloud

Unregistered / Unconfirmed
GUEST, unregistred user!
BMP直接保存到SQL Server中太大,如何将BMP文件转换成JPG文件保存?
 
procedure TForm1.Button1Click(Sender: TObject);
var
jp: TJpegImage; //Requires the "jpeg" unit added to "uses" clause.
begin
jp := TJpegImage.Create;
try
with jp do
begin
Assign(Image1.Picture.Bitmap);
SaveToFile('c:/oneeye.jpg')
end;
finally
jp.Free;
end;
end;
 
不能
TBlobField(TGraphicField)类型不支持
如果强制写的话会出现下列错误:
'Cannot assign TJPEGImage to a TGraphicField'
 
先把Bmp转换为Jpeg,然后通过SaveToStream保存成流就可以了。
 
好象这样的问题很多,检索一下;
 
>>先把Bmp转换为Jpeg,然后通过SaveToStream保存成流就可以了。

同意JohnsonGuo
 
procedure TForm1.Button1Click(Sender: TObject);
var
jp: TJpegImage; //Requires the "jpeg" unit added to "uses" clause.
MyStream :TStringStream;
begin
jp := TJpegImage.Create;
try
MyStream:=TStringStream.Create('');
try
with jp do
begin
Assign(Image1.Picture.Bitmap);
CompressionQuality:=50;//压缩比
SaveToStream(MyStream);
Table1.Edit;
.....
Table1.FieldByName('MyImage').Value:=MyStream.DataString;
Table1.Post;
end;
finally
MyStream.Free;
end;
finally
jp.Free;
end;
end;
 
多人接受答案了。
 
顶部