如何使用System.Drawing
来执行此操作?绘制并填充一个简单的矩形
我只是想能够指定尺寸和背景颜色(十六进制),并最终以Image
结束。
我已经看过类似的问题(如this之一),但他们更多的是WinForms - 我需要ASP.Net。
如何使用System.Drawing
来执行此操作?绘制并填充一个简单的矩形
我只是想能够指定尺寸和背景颜色(十六进制),并最终以Image
结束。
我已经看过类似的问题(如this之一),但他们更多的是WinForms - 我需要ASP.Net。
你可以做这样的事情:
<%@ Page Language="C#" ContentType="image/jpeg" %>
<%@ Import Namespace="System.Drawing" %>
<%@ Import Namespace="System.Drawing.Text" %>
<%@ Import Namespace="System.Drawing.Imaging" %>
<%@ Import Namespace="System.Drawing.Drawing2D" %>
<%
Response.Clear();
int height = 100;
int width = 200;
Random r = new Random();
int x = r.Next(75);
Bitmap bmp = new Bitmap(width, height, PixelFormat.Format24bppRgb);
Graphics g = Graphics.FromImage(bmp);
g.TextRenderingHint = TextRenderingHint.AntiAlias;
g.Clear(Color.Orange);
g.DrawRectangle(Pens.White, 1, 1, width-3, height-3);
g.DrawRectangle(Pens.Gray, 2, 2, width-3, height-3);
g.DrawRectangle(Pens.Black, 0, 0, width, height);
g.DrawString("The Code Project", new Font("Arial", 12, FontStyle.Italic),
SystemBrushes.WindowText, new PointF(x,50));
bmp.Save(Response.OutputStream, ImageFormat.Jpeg);
g.Dispose();
bmp.Dispose();
Response.End();
%>
下面是完整的文章的链接:http://www.codeproject.com/KB/aspnet/aspnet_web_graphics.aspx
不能直接使用System.Drawing中一个ASP.NET Web表单上,因为页面由浏览器显示,但只能理解HTML和CSS,但您的代码在服务器上执行。为了显示一个简单的矩形,我强烈推荐使用CSS。
但是,如果你真的需要服务器生成的图形,程序如下:
Bitmap
(这也是一个Image
)Graphics
对象。 (提示:Graphics.FromImage()
)<img>
标签参考文件在你的页面中acessed。您可以使用这些方法创建映像并将其保存到硬盘。然后将其提供给用户。所以ASP.NET的额外步骤是将其保存到硬盘。否则,其他一切都可以按原样工作。