0

jpg画像をデータベースに保存し、FIBplusとTImageを使用してDelphiにロードするにはどうすればよいですか?

4

4 に答える 4

3
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 画像を使用している場合は、ユニット ファイルのuses句にJPG ユニットを追加します。

于 2008-09-16T03:49:15.900 に答える
0

このページで説明しています。一時ファイルが必要ない場合は、SaveToFile の代わりに SaveToStream と TMemoryStream を使用します。TImage.Picture には、表示のためにストリームから TImage に画像をロードする LoadFromStream があります。

于 2008-09-15T19:15:12.560 に答える
-1

ここを見てください。 ストリームに変換して保存し、その逆も必要だと思います。

于 2008-09-15T12:08:55.817 に答える
-1

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;

エラー「ビットマップ画像は有効です」

于 2014-12-29T16:14:04.613 に答える