2,497
社区成员
发帖
与我相关
我的任务
分享
//从数据库中读取图片并显示到image中
procedure TForm1.Button1Click(Sender: TObject);
var
ms:TStream;
begin
ms:=TMemoryStream.Create;
self.ADOQuery1.Close;
self.ADOQuery1.Connection:=self.ADOConnection1;
self.ADOQuery1.SQL.Clear;
Self.ADOQuery1.SQL.Add('select * from pic');
self.ADOQuery1.Open;
self.ADOQuery1.First;
ms:=Self.ADOQuery1.CreateBlobStream(Self.ADOQuery1.FieldByName('pic'),bmread);
self.Image1.Picture.Bitmap.LoadFromStream(ms);
ms.Free;
end;
//将image中图片写入数据库
procedure TForm1.Button2Click(Sender: TObject);
var
ms:TMemoryStream;
begin
ms:=TMemoryStream.Create;
Self.Image1.Picture.Bitmap.SaveToStream(ms);
ms.Position:=0;
self.ADOQuery1.Close;
self.ADOQuery1.Connection:=self.ADOConnection1;
self.ADOQuery1.SQL.Clear;
Self.ADOQuery1.SQL.Add('select * from pic');
self.ADOQuery1.Open;
self.ADOQuery1.Append;
TBlobField(Self.ADOQuery1.FieldByName('pic')).LoadFromStream(ms);
self.ADOQuery1.Post;
end;
//IMage中显示jpg或bmp图片
procedure TForm1.BitBtn1Click(Sender: TObject);
var
bm:TBitmap;
jpg:TJPEGImage;
ms:TMemoryStream;
s,s1:string;
begin
if self.OpenDialog1.Execute then
begin
s:=self.OpenDialog1.FileName;
s1:=ExtractFileExt(s);
if s1='.bmp' then
self.Image1.Picture.Bitmap.LoadFromFile(s)
else
begin
jpg:=TJPEGImage.Create;
jpg.LoadFromFile(s);
bm:=TBitmap.Create;
bm.Assign(jpg);
self.Image1.Picture.Bitmap:=bm;
jpg.Free;
bm.Free;
end
end;
end;
将Image中图片保存成jpg图片
procedure TForm1.Button3Click(Sender: TObject);
begin
Self.Image1.Picture.SaveToFile('f:\lzx.jpg');
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
var
bm:TBitmap;
jpg:TJPEGImage;
ms:TMemoryStream;
var
s:string;
begin
if self.OpenDialog1.Execute then
begin
s:=self.OpenDialog1.FileName;
jpg:=TJPEGImage.Create;
jpg.LoadFromFile(s);
bm:=TBitmap.Create;
bm.Assign(jpg);
self.Image1.Picture.Bitmap:=bm;
jpg.Free;
bm.Free;
end;
end;
uses Graphic, Jpeg;
{----|
名称: JPG2BMP
功能: 将图片从 JPG 格式转换为 BMP 格式
参数: JPGFile: string - JPG 图片文件
BMPFile: string - BMP 图片文件
返回: Boolean - 成功返回 True, 失败返回 False.
-----}
function JPG2BMP(const JPGFile, BMPFile: string): Boolean;
var
BMP: TBitmap;
JPG: TJpegImage;
begin
Result := False;
if not FileExists(JPGFile) then Exit;
BMP := nil;
JPG := nil;
try
try
JPG := TJpegImage.Create;
JPG.LoadFromFile(JPGFile);
BMP := TBitmap.Create;
BMP.Assign(JPG);
BMP.SaveToFile(BMPFile);
except
Exit;
end;
finally
if Assigned(BMP) then BMP.Free;
if Assigned(JPG) then JPG.Free;
end;
Result := True;
end;