ile PNG resim oluşturma, bir <img src="myws.ashx?x=100>
HTML öğesi çağrılan görüntüyü oluşturmak için bir C# web tabanlı hizmetini kullanarak kırmızı bir kare söylüyorlar.C# HttpHandler webservice
bazı örnek HTML:
<hmtl><body>
<img src="http://mysite.com/webservice/rectangle.ashx?size=100">
</body></html>
var mıdır birlikte basit (çalışma) C# sınıfı kaldırım taşı olabilir herkes sadece bana başlamak nedir? Bir kez çıkıp gideceğimden eminim ki bunu yapmak istediğimi yapmak için bunu bitirebilirim.
- Sonu oyunu performans ölçümlerini vb * gösteren bir veri odaklı web sayfası için basit Kırmızı/Sarı/Yeşil (RA) gömülü durum işaretleri oluşturmaktır
- kullandığımı tahmin gibi PNG kullanarak kullanmak istiyorum gelecekte * şeffaflık
- ASP.NET ...
tia
çÖZÜM (henüz üretim 3.5 kutu yok) lütfen 2.0 C# çözüm
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;}
}
}
Bir http işleyicisi bir görüntüyü döndürür mü? bir bitmap görüntüsü veya bir byte [] arabelleği, çağrıldığı yerden bir C# yöntemine (kod arkasındaki kod) söyleyelim mi? Aptalca ses çıkardığım için özür dilerim ama http: – zack
@YP için yeni durumdayım, kabul edilen cevaba bakın. Aksi halde ne demek istediğini anlamıyorum ve açıkçası, nasıl yapacağımı bilmiyorum. Benim C# – Guy
@guy Çözümü yayınladığınız için teşekkürler - bana çok yardımcı oldu! –