//保存 procedure TForm1.ImageIntoDBBitBtnClick(Sender: TObject); begin try with Query1 do begin close; sql.clear; sql.add('insert into img (imga) values(:imag)'); end; try if FileName<>'' then ParamByName('Img').LoadfromFile(FileName,ftGraphic) else ParamByName('Img') .asBlob:=''; Query1.ExecSQL; except ShowMessage('图片保存出错!'); exit; end; except end; end;
//读取 procedure TForm1.ImageFromDBBitBtnClick(Sender: TObject); var m_jpegstream:tmemorystream; begin with Query1 do begin close; sql.clear; sql.Add('select imga from img'); try Open; except exit; end; end; if (Query1.FieldByName('imga') as tblobfield).asstring='' then begin exit; end else begin try try m_jpegStream:=TMemoryStream.Create; (Query1.fieldbyname('imga') as TBlobField).SaveToStream(m_JpegStream); m_JpegStream.Position:=0; try image2.Picture.Graphic:=nil; image2.Picture.Graphic:=TJpegImage.Create; image2.Picture.Graphic.LoadFromStream(m_JpegStream); //读Jpeg except Image2.Picture.Bitmap.LoadFromStream(m_JpegStream); //读Bmp end; except end; finally m_JpegStream.Free; Query1.Close; Query1.UnPrepare; end; end; end;
//BMP转换为JPG procedure TStuXXSLForm.LoadImageBitBtnClick(Sender: TObject); var MyJpeg:TJpegImage; begin inherited; if OpenPictureDialog1.Execute then begin FileName:=OpenPictureDialog1.FileName; Image1.Picture.LoadFromFile(FileName); if ExtractFileExt(FileName)='.Bmp' then begin MyJpeg:= TJpegImage.Create; MyJpeg.Assign(Image1.Picture.Bitmap); FileName:='Photo.Jpg'; MyJpeg.SaveToFile(FileName); MyJpeg.Free; end; end; end;