none
Webbrowserコントロールでメモリ上の画像を参照するには RRS feed

  • 質問

  •  

    .NET FrameworkのWebBrowserコントロールを使ってHTML文章を表示するプログラムを組んでいるのですが、HTML文章内に含まれる「<img src="xxx.jpg">」タグにおいて、ハードディスク上の「xxx.jpg」をファイル名にもつ画像ファイルではなく、あらかじめメモリ上に展開されているイメージを代わりに表示させたいと考えています。これをプログラムで実現することは可能でしょうか。
    2008年10月4日 9:22

回答

  • 面倒くさいですが、メモリ上で保持している画像を出力するような web hosting を構築するのが定番だと思います。
    System.Net.HttpListener や System.Web.Hosting namespace あたりが利用できます。(前者が簡単でしょう)
    2008年10月6日 5:28

すべての返信

  •  Tank2005 さんからの引用

    ハードディスク上の「xxx.jpg」をファイル名にもつ画像ファイルではなく、あらかじめメモリ上に展開されているイメージを代わりに表示させたいと考えています。

    これをプログラムで実現することは可能でしょうか。

    HTMLタグにメモリのアドレスを指定する方法は定義されていません。

    できたとしても、ディスクドライブを仮想的に提供して、そこへの物理パスを記載することでしょうか…。

     

    なぜ、そのようにしたいのかが分かれば、もっと適切なアドバイスがつく可能性があります。

    どのような経緯・背景があるか教えて頂けませんか?

    2008年10月5日 8:25
    モデレータ
  • 面倒くさいですが、メモリ上で保持している画像を出力するような web hosting を構築するのが定番だと思います。
    System.Net.HttpListener や System.Web.Hosting namespace あたりが利用できます。(前者が簡単でしょう)
    2008年10月6日 5:28
  •  Azulean さんからの引用

    なぜ、そのようにしたいのかが分かれば、もっと適切なアドバイスがつく可能性があります。

    どのような経緯・背景があるか教えて頂けませんか?

     

    HTML文章を管理するソフトウェアを作成しようと考えており、HTMLテキストとそれに関連づけられている画像ファイル群をまとめてひとつのデータとして整理する方向で開発を検討しています。このひとまとめのデータをいったんハードディスク内に展開するのではなく、メモリ上から直接読み込めるようにすれば、余計な処理がかからないと思い、この方法を探すことになりました。

     

    ちなみに、一度対象のHTML文章と画像群をmht(MHTML)形式に変換することでできないかと思ったのですが、IHTMLDocumentに直接このmhtデータを書き込んでも単なる文字列として見なされませんでした。

     

    専用のAPIなどがないようでしたら、3番目の回答にある、ローカルサーバー経由でデータを構築する方法を採用したいと思います。

    2008年10月6日 8:32