【发布时间】:2011-03-05 07:30:57
【问题描述】:
我需要在 ASP.NET 中生成小的 PNG 图像。图像可以包含简单的几何图形和文本。在 ASP.NET 中生成图像是否需要使用 3rd 方库?
【问题讨论】:
我需要在 ASP.NET 中生成小的 PNG 图像。图像可以包含简单的几何图形和文本。在 ASP.NET 中生成图像是否需要使用 3rd 方库?
【问题讨论】:
这样的?
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)
当然,您必须使用图像的内容,但图形命名空间可能包含您需要的大部分内容。
【讨论】:
您只需使用 .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();
【讨论】: