でPNG画像を作成し、私はシンプルなPNGイメージを作成できるようにしたいのですが、<img src="myws.ashx?x=100>
HTML要素から呼び出された画像を生成するためにC#のウェブベースのサービスを使用して赤い四角で言います。C#のHttpHandler Webサービス
いくつかの例のHTML:
<hmtl><body>
<img src="http://mysite.com/webservice/rectangle.ashx?size=100">
</body></html>
はちょうど私が始めるために一緒に簡単な(ワーキング)C#クラスを考え出すことができ、誰もがありますか?一度やり直したら、私がやりたいことを実際にやるためにこれを終えることができると確信しています。
- エンドゲームは私が使用して予想されるとして、それはPNG年代を使用したい
- *パフォーマンスメトリックなどを示したデータ駆動型のWebページのためのシンプルなレッド/アンバー/グリーン(RAG)埋め込まれた状態のマーカーを作成することです将来的には透明性*
- ASP.NET 2.0のC#ソリューションください...(私はまだ生産3.5ボックスを持っていない)
TIA
SOLUTION
rectangle.html
<html>
<head></head>
<body>
<img src="rectangle.ashx" height="100" width="200">
</body>
</html>
rectangle.ashx
<%@ WebHandler Language="C#" Class="ImageHandler" %>
rectangle.cs
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System.Web;
public class ImageHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
int width = 600; //int.Parse(context.Request.QueryString["width"]);
int height = 400; //int.Parse(context.Request.QueryString["height"]);
Bitmap bitmap = new Bitmap(width,height);
Graphics g = Graphics.FromImage((Image) bitmap);
g.FillRectangle(Brushes.Red, 0f, 0f, bitmap.Width, bitmap.Height); // fill the entire bitmap with a red rectangle
MemoryStream mem = new MemoryStream();
bitmap.Save(mem,ImageFormat.Png);
byte[] buffer = mem.ToArray();
context.Response.ContentType = "image/png";
context.Response.BinaryWrite(buffer);
context.Response.Flush();
}
public bool IsReusable {
get {return false;}
}
}
httpハンドラで画像を返すことはできますか?ビットマップイメージやバイト[]バッファをC#メソッド(コードビハインドファイル)のどこから呼び出すことができますか?私はstupipdの音を鳴らしても申し訳ありませんが、私はhttpハンドラの新人です – zack
@YP、受け入れられた答えを見ますか?それ以外の場合、私はあなたが意味することと率直に理解していない、とにかくそれを行う方法を知りません。私のC#はblehです! – Guy
@guy解決策を投稿してくれてありがとう - 私を助けてくれました! –