在ASP.NET中动态生成PNG的好方法是什么?

时间:2011-03-04 23:24:53

标签: c# asp.net image

我需要在ASP.NET中生成小的PNG图像。图像可以具有简单的几何形状和文本。是否有必要使用第三方库在ASP.NET中生成图像?

2 个答案:

答案 0 :(得分:5)

这样的东西?

Bitmap bmp = new Bitmap(300, 300);
Graphics g = Graphics.FromImage(bmp);

g.Clear(Color.Transparent);
g.FillRectangle(Brushes.Red, 100, 100, 100, 100);

g.Flush();
bmp.Save("test.png", System.Drawing.Imaging.ImageFormat.Png);

(来自here

当然,您必须使用图像的内容,但图形命名空间可能具有您需要的大部分内容。

答案 1 :(得分:5)

您只需使用.NET框架中的Bitmap和其他与图形相关的类即可。

        Bitmap bmpImage = new Bitmap(width, height);
        Graphics gr = Graphics.FromImage(bmpImage);
        //Draw using gr here

        //stream to the client
        Response.ContentType = "image/png";

        //write to memory stream first, png can only be written to seekable stream
        using(MemoryStream memStream = new MemoryStream())
        {
          bmpImage.Save(memStream, ImageFormat.Png);
          memStream.WriteTo(Response.OutputStream);
        }
        bmpImage.Dispose();