Какой хороший способ динамически генерировать PNG в ASP.NET? - PullRequest
1 голос
/ 05 марта 2011

У меня есть необходимость создавать небольшие PNG-изображения в ASP.NET. Изображения могут иметь такие вещи, как простая геометрия и текст. Нужно ли использовать стороннюю библиотеку для генерации изображений в ASP.NET?

Ответы [ 2 ]

5 голосов
/ 05 марта 2011

Вы можете сделать это, просто используя Bitmap и другие графические классы в .NET Framework.

        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();
5 голосов
/ 05 марта 2011

Как-то так?

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);

(из здесь )

Конечно, вам придется поиграться с содержимым изображения, ноГрафическое пространство имен, вероятно, содержит большую часть того, что вам нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...