掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
IBXを使用した場合の画像(BLOBデータ)の表示 (ID:28395)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
FireBird 1.0 1.5 Delphi 7 2006 2007 にて IBX を利用して、実際に Jpeg や BitMap を Blob に書き込み・読み出しをしている部分からの抜粋です。 正解かどうかはわかりませんが、・・・ 現実に動いていますので参考に・・・・ //BitMap または Jpeg の表示 procedure TFixxxx.BitMap_or_Jpeg(); //表示 var BS1 :TStream; Bitmap1 :TBitmap; jpg1 :TJPEGImage; begin try BS1 := IBSQL.CreateBlobStream(IBSQL.FieldByName('PHUTO_Blob'),bmRead); Bitmap1 := TBitmap.Create; try Bitmap1.LoadFromStream(BS1); Image_X.Picture.Graphic := Bitmap1; finally BS1.Free; Bitmap1.Free; end; except BS1 := IBSQL.CreateBlobStream(IBSQL.FieldByName('PHUTO_Blob'),bmRead); jpg1 := TJPEGImage.Create; try jpg1.LoadFromStream(BS1); Image_X.Picture.Graphic := jpg1; finally BS1.Free; jpg1.Free; end; end; end; //データベースへの入力 procedure TInputF.Button_OK_Click(Sender: TObject); Var BS1 :TMemoryStream; jpg1 :TJPEGImage; begin BS1 := TMemoryStream.Create; jpg1 := TJPEGImage.Create; with IBSQL_In do begin Close; SQL.Clear; SQL.Add(' insert into DATABASE PHOTO_BLOB values :parPHOTO_BLOB '); end; //************************************ //Bitmap ==> Jpeg 変換 //************************************ jpg1.Assign(Image_1.Picture.Graphic); jpg1.Compress; jpg1.SaveToStream(BS1); IBSQL_In.ParamByName('PHOTO_BLOB').LoadFromStream(BS1,ftBlob); //************************************ //Jpeg の場合 //************************************ Image_1.Picture.Graphic.SaveToStream(P1); IBSQL_In.ParamByName('PHOTO_BLOB').LoadFromStream(P1,ftBlob); try IBSQL_In.ExecSQL; IBTr1.Commit*****; finally BS1.Free; jpg1.Free; end; end; end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.