Chciałbym móc utworzyć prosty obraz PNG, np. O czerwonym kwadracie przy użyciu usługi sieciowej w języku C# do generowania obrazu, wywoływanej z elementu HTML <img src="myws.ashx?x=100>
.Utwórz obraz PNG za pomocą usługi WWW C# HttpHandler
jakiś przykład HTML:
<hmtl><body>
<img src="http://mysite.com/webservice/rectangle.ashx?size=100">
</body></html>
Czy jest ktoś, kto może sklecić prostego (pracy) klasy C# tylko zaczynaj? Kiedy jestem poza domem, jestem pewien, że mogę to skończyć, żeby zrobić to, co chcę.
- Koniec gry jest stworzenie prostych czerwony/bursztynowy/zielony (RAG) wbudowanych markerów stanu dla danych napędzane stronie internetowej, która zawiera dane wydajności itp *
- chciałbym go używać PNG jako Przewiduję korzystania przejrzystość w przyszłości *
- ASP.NET 2.0 C# rozwiązanie proszę ... (I nie masz jeszcze pole produkcja 3.5)
Tia
rOZWIĄZANIE
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;}
}
}
czy można zrobić procedurę obsługi http, zwracając obraz? powiedzmy obraz bitmapowy lub bufor bajtowy [] do metody C# (kod za plikiem), skąd jest wywoływany? Przepraszam, jeśli brzmi to oszałamiająco, ale jestem nowy w obsłudze HTTP – zack
@YP, zobacz akceptowaną odpowiedź ?? W przeciwnym razie nie rozumiem, co masz na myśli i szczerze mówiąc, nie wiedziałbym, jak to zrobić. Mój C# jest bleh! – Guy
@guy Dzięki za opublikowanie rozwiązania - bardzo mi pomogło! –