OLEオブジェクトをImageに表示させるには?


miya  2004-07-28 22:55:11  No: 115140

はじめまして。
VB6+ACCESS2000についてですが、
ACCESSのOLEオブジェクト型のフィールドに
画像を登録した後、VBのImageに表示させるには、
どのようにすればよいのでしょうか?

どなたか分かる方がいらっしゃいましたら、
ご教授願います。


魔界の仮面弁士  2004-07-29 01:28:32  No: 115141

画像ファイルの生のバイナリデータを、VB/VBA等から AppendChunkメソッドで、
直接登録してあるのであれば、Pictureオブジェクトへの変換も可能です。

しかし、AccessからOLE ストリームとして「埋め込」んだデータに関しては、
Imageには表示できません。かわりに、OLEコンテナコントロールに
連結させてみてください。OLEコンテナであれば表示可能です。

もし、どうしてもImageに表示したい、という事であれば、下記を参照してください。
画像形式は、Bitmapに限定されますし、必ず取得できるという保証も
ありませんが、運が良ければ取り出せるかと思います。

http://support.microsoft.com/default.aspx?scid=kb;ja;175261
》 この資料は OLE オブジェクト フィールドにあるビットマップを、
》 Visual Basic を使用してどのように取り出すかを示しています。
》 OLE オブジェクトの構造は公開されていませんので、このプログラムでは
》 グラフィックの開始と一致するキャラクターをオブジェクトの
》 OLE ヘッダから検索しています。この方法は、すべての状況で
》 動作するとは限りません。 

なお、mdb内に画像データを埋め込むのは、mdbが肥大化する要因と
なりますので、個人的にはおすすめできません。
http://support.microsoft.com/?id=123151


miya  2004-07-29 03:00:39  No: 115142

魔界の仮面弁士さん。
レス、ありがとうございました。

やりたい事はできました。
また、何かあればよろしくお願いいたします。


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加