image - 使用 firebird 从 delphi 中的 blob 字段加载和保存图像

标签 image delphi bitmap blob firebird

在我的 Firebird 数据库中,我有一个包含位图的 Blob 字段。我必须加载并显示在我的表单上的 TImage 中。随后,我必须将 OpenDialog 选择的图像保存在同一字段中。

最佳答案

Procedure LoadBitmapFromBlob(Bitmap: TBitmap; Blob: TBlobField);
var
  ms, ms2: TMemoryStream;
begin
  ms := TMemoryStream.Create;
  try
    Blob.SaveToStream(ms);
    ms.Position := 0;
    Bitmap.LoadFromStream(ms);
  finally
    ms.Free;
  end;
end;

使用示例

procedure TForm4.Button1Click(Sender: TObject);
var
  bmp: TBitmap;
begin
  bmp := TBitmap.Create;
  try
    LoadBitmapFromBlob(bmp, TBlobField(Dataset.FieldByName('Image')));
    Image1.Picture.Assign(bmp);
    bmp.SaveToFile(OpenDialog.FileName);
  finally
    bmp.Free;
  end;

end;

关于image - 使用 firebird 从 delphi 中的 blob 字段加载和保存图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13863169/

相关文章:

linux - 将图像从 TrueColor 更改为 1Bpp 调色板?

mysql - 如何使用 zeoslib 获取选择结果

android - 如何在OpenGL中连续显示位图

html - css3自适应图像绝对位置

javascript - 使用 javascript/jquery 单击按钮时对象的旋转(使用其图像)

android - 从sdcard复制镜像到android项目包

delphi - 常量 `array of cardinal` 产生错误 'Constant expression violates subrange bounds"

delphi - 如何裁剪 FMX TBitmap

android - 在 Canvas 上绘制位图/图像,用户在屏幕上触摸

android - 验证 Android 位图是 GrayScale