Je voudrais être capable de créer une image PNG simple, par exemple un carré rouge en utilisant un service web C# pour générer l'image, appelé à partir d'un élément HTML <img src="myws.ashx?x=100>
.Créer une image PNG avec le service web C# HttpHandler
quelques exemples HTML:
<hmtl><body>
<img src="http://mysite.com/webservice/rectangle.ashx?size=100">
</body></html>
Est-ce il y a quelqu'un qui peut concocter un simple (travail) C# classe juste pour me commencer? Une fois hors tension, je suis sûr que je peux finir ça pour faire ce que je veux faire.
- jeu final est de créer de simples rouge/orange/vert (RAG) des marqueurs d'état intégrés pour une page Web axée sur des données qui montre des indicateurs de performance, etc. *
- Je l'aime utiliser la PNG comme je prévois l'aide la transparence à l'avenir *
- ASP.NET 2.0 C# solution s'il vous plaît ... (Je n'ai pas une production 3.5 boîte encore)
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;}
}
}
pouvez-vous demander à un gestionnaire http de renvoyer une image? disons une image bitmap ou un octet [] tampon à une méthode C# (code derrière le fichier) d'où il est appelé? Je suis désolé si je semble stupipd mais je suis nouveau pour les gestionnaires http – zack
@YP, voir la réponse acceptée ?? Sinon je ne comprends pas ce que tu veux dire et franchement, je ne saurais pas comment le faire quand même. Mon C# est bleh! – Guy
@guy Merci d'avoir posté la solution - m'a beaucoup aidé! –