1

C# で .NET 3.5 WinForms プロジェクトを開発しています。メモリ内ソースから直接、 WebBrowserコントロールで画像をレンダリングする最良の方法について意見をお聞かせください。 インメモリとは、Base64でエンコードされた文字列形式の画像のコレクションがあり、それらを WebBrowser コントロールの埋め込みページにレンダリングしたいという意味です。

埋め込みデータ URIオプションの例を使用したいと考えていましたが、このアプローチは32KB 未満の画像に制限されています。

System.Drawing.Imageそれをインスタンスに変換し、何らかの方法でこの画像をsrchtml タグで次のように参照できることを願っています<img src="<insert reference here?>" </img>。そのような技術は可能ですか?

これができない場合、Windows の一時ディレクトリにファイルを作成し、そこから参照することは可能でしょうか?

4

1 に答える 1

1

もう 1 つの方法は、Web サーバーをセットアップし、localhost 経由でイメージをロードすること<img src='http://localhost/img.jpg'>です。これにより、ディスク上に一時的なイメージ イメージが作成されなくなります。

Web サーバーを処理したくない場合は、前述のデータ URI パラメーターと組み合わせた単純な画像タイルが機能します。単一のタイルは次の方法で取得できます。

Rectangle region = new Rectangle(x, y, tileWidth, tileHeight);
Bitmap tile = sourceBitmap.Clone(region, sourceBitmap.Clone.PixelFormat);

Rectangle region完全なソース画像をカバーするまで、さまざまなパラメーターのタイル生成を繰り返すだけです。データ サイズが 32kB 未満のタイルを生成するのに適切なtileWidthとを試してみてください。tileHeight

于 2013-01-15T10:47:28.000 に答える