12

私のコードでは、c# と ASP.NET を使用してビットマップを動的に作成します。ASPイメージコントロールに表示する必要があります。ハンドラーを使用せずにそれを行う方法はありますか?

4

1 に答える 1

25

ashx ハンドラーを使用すると、すべてのブラウザーで機能し、出力画像をクライアントにキャッシュできるため、より適切です。

ただし、それを行う必要がある場合は、<img>次のようにタグを使用して画像を直接インラインで表示できます。

<img src="data:image/gif;base64,<YOUR BASE64 DATA>" width="100" height="100"/>

ASPX:

<img runat="server" id="imgCtrl" />

CS:

MemoryStream ms = new MemoryStream();
bitmap.Save(ms, ImageFormat.Gif);
var base64Data = Convert.ToBase64String(ms.ToArray());
imgCtrl.Src = "data:image/gif;base64," + base64Data;

はい、ビットマップを直接書き込むこともできますが、Web には圧縮形式 (JPEG、GIF) の方が適しています。

注:インライン イメージは、古いブラウザーでは機能しません。IE の一部のバージョンには、最大 32KB のサイズの制限がありました。

于 2013-02-06T04:08:55.037 に答える