Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 绘制并填充一个简单的矩形_C#_Asp.net_Drawing - Fatal编程技术网

C# 绘制并填充一个简单的矩形

C# 绘制并填充一个简单的矩形,c#,asp.net,drawing,C#,Asp.net,Drawing,如何使用System.Drawing执行此操作 我只想能够指定尺寸和背景颜色(十六进制),最终得到一幅图像 我已经看过类似的问题(比如一个),但它们更多的是针对WinForms的-我需要它用于ASP.Net。您可以这样做: <%@ Page Language="C#" ContentType="image/jpeg" %> <%@ Import Namespace="System.Drawing" %> <%@ Import Namespace="System.Dr

如何使用
System.Drawing
执行此操作

我只想能够指定尺寸和背景颜色(十六进制),最终得到一幅
图像


我已经看过类似的问题(比如一个),但它们更多的是针对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();

%>


下面是全文的链接:

您可以这样做:

<%@ 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();

%>


这里有一个指向全文的链接:

您不能直接使用System.NET web表单,因为页面是由浏览器显示的,浏览器只理解HTML和CSS,所以您的代码是在服务器上执行的。对于显示一个简单的矩形,我强烈建议使用CSS

但是,如果您确实需要服务器生成的图形,步骤如下:

  • 创建一个新的
    位图
    (它也是一个
    图像
  • 使用
    图形
    对象绘制您喜欢的任何图形。(提示:
    Graphics.FromImage()
  • 将位图保存到服务器上的文件中(选择适当的格式,例如PNG),路径可通过web访问
  • 使用
    标记参考页面中的文件

您不能直接使用ASP.NET web表单上的System.Drawing,因为页面是由浏览器显示的,浏览器只能理解HTML和CSS,但您的代码是在服务器上执行的。对于显示一个简单的矩形,我强烈建议使用CSS

但是,如果您确实需要服务器生成的图形,步骤如下:

  • 创建一个新的
    位图
    (它也是一个
    图像
  • 使用
    图形
    对象绘制您喜欢的任何图形。(提示:
    Graphics.FromImage()
  • 将位图保存到服务器上的文件中(选择适当的格式,例如PNG),路径可通过web访问
  • 使用
    标记参考页面中的文件

您可以使用这些方法,创建映像并将其保存到硬盘。然后将其提供给用户。因此,ASP.NET的额外步骤是将其保存到硬盘。否则,其他一切都可以按原样工作。

您可以使用这些方法,创建映像并将其保存到硬盘。然后将其提供给用户。因此,ASP.NET的额外步骤是将其保存到硬盘。否则,其他一切都可以按原样工作