0

.aspxページで、System.Drawing名前空間を使用してbmpを作成しています。bmpが終了したら、次を使用してブラウザに送信します。

using (MemoryStream ms = new MemoryStream())
            {
                bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp);
                byte[] buffer = ms.GetBuffer();
                HttpContext.Current.Response.OutputStream.Write(buffer, 0, buffer.Length);
                HttpContext.Current.Response.Flush();
            }

これは、bmpをレンダリングするブラウザに送信するだけのようですが、htmlページとしては送信しません。ソースを表示することはできません-それは単なるビットマップのようです。

bmpをブラウザに送信したいのですが、htmlページのbodyタグの「コンテンツ」として送信します。

これを行う唯一の方法は、bmpをディスクに保存(書き込み)してから、そのファイルをイメージタグのsrcとして使用することですか?または、それをブラウザに直接レンダリングする方法はありますが、それでもhtmlページの一部としてレンダリングする方法はありますか?

4

1 に答える 1

3

単純な解決策は、次のような2つのページを使用することです。

a.aspx:

<img src="b.aspx" />

b.aspx:

using (MemoryStream ms = new MemoryStream())
{
    bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp);
    byte[] buffer = ms.GetBuffer();
    HttpContext.Current.Response.OutputStream.Write(buffer, 0, buffer.Length);
    HttpContext.Current.Response.Flush();
}
于 2012-11-24T17:41:33.307 に答える