2006/07/25

イメージの表示

C# で PostgreSQL にラージオブジェクトとしてイメージを登録・表示する方法です。

Npgsql のヘルプにはファイルからイメージを読み取ってデータベースへ登録したり、データベースからファイルに書き出す方法は書いてありますが、データベースから直接 PictureBox にデータを流し込む方法が書いてありません。 以下のようにすると直接流し込めます。

NpgsqlTransaction transaction = myConnection.BeginTransaction();
LargeObjectManager lom = new LargeObjectManager(myConnection);

LargeObject lo = lom.Open(oid, LargeObjectManager.READWRITE);

Byte[] byteBLOBData = new Byte[0];
byteBLOBData = lo.Read(lo.Size());
MemoryStream stmBLOBData = new MemoryStream(byteBLOBData);
this.pictureBox1.Image = Image.FromStream(stmBLOBData);

lo.Close();
transaction.Commit();

0 件のコメント: