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

Jam*_*add 1 c# asp.net image

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

kpr*_*bst 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);
Run Code Online (Sandbox Code Playgroud)

(从这里)

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


Bro*_*ass 5

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

        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();
Run Code Online (Sandbox Code Playgroud)