⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 save jpeg into database and read from database.txt

📁 Delphi编程练习:在数据库中以文件流形式保存JPEG图片。
💻 TXT
字号:
procedure Tfrm_Pic_Adm.btn_Load_Picture01Click(Sender: TObject);
var
  pics:TStream;
  Jpeg:TJpegImage;
  bmp:TBitMap;
begin
// uses JPEG;
  if not OpenPictureDialog1.Execute() then exit;
  ibQry_Pic_Code.Edit;
  Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
  pics:=TMemoryStream.Create;
  bmp:=TBitMap.Create;
  bmp.Width:=Image1.Picture.Width;//指定长度与宽度
  bmp.Height:=Image1.Picture.Height;
  bmp.Canvas.Draw(0,0,Image1.Picture.Graphic);
  //注意此句,这是与其它方法不同的地方,之所以能实现存储所有操作系统能识别的图片格式,原因就在此处:采用了截图方式。
  Jpeg:=TjpegImage.Create;
  Jpeg.CompressionQuality:=80;
  jpeg.Assign(bmp);
  jpeg.Compress;//压缩为JPEG格式
  jpeg.SaveToStream(pics);//存入内存流
  pics.Position:=0;
  TBlobField(ibQry_Pic_Code.FieldByName('PIC_BLOB')).LoadFromStream(pics);//数据库从流中接受数据
  //ibQry_Pic_Code.Post;//不自动保存
  pics.Free;
  jpeg.Free;
  bmp.Free;

end;

procedure Tfrm_Pic_Adm.ibQry_Pic_CodeAfterScroll(DataSet: TDataSet);
var
  pics:TStream;
  Jpeg:TJpegImage;
begin

  //读取图片
  if TBlobField(ibQry_Pic_Code.FieldByName('PIC_BLOB')).value='' then
  begin
    Image1.Picture:=nil;
    exit;
  end;
  pics:=TMemoryStream.Create;
  TBlobField(ibQry_Pic_Code.FieldByName('PIC_BLOB')).SaveToStream(pics);//将二进制存入内存流
  pics.Position:=0;
  Jpeg:=TJpegImage.Create;
  Jpeg.LoadFromStream(pics);//将流识别为JPEG格式
  Image1.Picture.Assign(jpeg);
  pics.Free;
  jpeg.Free;
  
end;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -