【问题标题】:How to save jpg image to database and then load it in Delphi using FIBplus and TImage?如何将 jpg 图像保存到数据库,然后使用 FIBplus 和 TImage 将其加载到 Delphi 中?
【发布时间】:2008-09-15 11:46:36
【问题描述】:

如何将 jpg 图像保存到数据库,然后使用 FIBplus 和 TImage 在 Delphi 中加载?

【问题讨论】:

    标签: delphi timage fibplus


    【解决方案1】:
    var
      S : TMemoryStream;
    begin
      S := TMemoryStream.Create;
      try
        TBlobField(AdoQuery1.FieldByName('ImageField')).SaveToStream(S);
        S.Position := 0;
        Image1.Picture.Graphic.LoadFromStream(S);
      finally
        S.Free;
      end;
    end;
    

    如果您使用的是 JPEG 图像,请将 JPG 单位添加到单位文件的 uses 子句中。

    【讨论】:

      【解决方案2】:

      This page 解释它。如果您不想要临时文件,请使用 SaveToStream 和 TMemoryStream 而不是 SaveToFile。 TImage.Picture 有一个 LoadFromStream,它将图像从流中加载到 TImage 中进行显示。

      【讨论】:

        【解决方案3】:

        Take a look here. 我认为您必须将其转换为流,存储它,反之亦然。

        【讨论】:

          【解决方案4】:

          Delphi 7 悖论表

          将 dbimage 插入 jpeg

          var
            FileStream: TFileStream;
            BlobStream: TStream;
          begin
            if openpicturedialog1.Execute then
            begin
              Sicil_frm.DBNavigator1.BtnClick(nbEdit);
              image1.Picture.LoadFromFile(openpicturedialog1.FileName);
              try
                 BlobStream := dm.sicil.CreateBlobStream(dm.sicil.FieldByName('Resim'),bmWrite);
                 FileStream := TFileStream.Create(openpicturedialog1.FileName,fmOpenRead or fmShareDenyNone);
                 BlobStream.CopyFrom(FileStream,FileStream.Size);
                 FileStream.Free;
                 BlobStream.Free;
                 Sicil_frm.DBNavigator1.BtnClick(nbPost);
                 DM.SicilAfterScroll(dm.sicil);
               except
                 dm.sicil.Cancel;
               end;
            end;
          end;
          

          错误“位图图像 nat 有效”

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2011-07-19
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2020-08-22
            • 1970-01-01
            相关资源
            最近更新 更多