バイト配列の画像データを、イメージコントロールに表示したいのですが、その際ファイルを経由しないでメモリ上で行う方法はないでしょうか?
質問に不足がありました。
画像データはjpgでOS他は
windows2000sp4+VB6sp5で開発中です。
環境明記してください。
-.NET-
System.Drawing.Image.FromStream()が使えそうです。
System.IO.BufferdStreamとか…?
-VB6-
普通にWinAPIのSetDIBitsToDeviceなんかで。
バイト配列からIStreamを作り出し、それに対してOleLoadPicture
とか。バイト配列->IStreamは、ole32.dllの提供する既定のIStream
(Global Memory Handleに関連付けられたもの)を利用するか、自力で
IStreamをImplementsしたものを作るか、辺りでしょう。
こんな感じかな。
http://yaplog.jp/orator/archive/19
上記をコピーした上で、
Set Image1.Picture = BytesToPicture(バイト配列)
のイメージで作れるかと。
魔界の仮面弁士さんありがとうございました。
やりたいことがそのままできました。
後々ソースを解析して勉強します。
ツイート | ![]() |