C# ASP.NET中五点星的坐标

C# ASP.NET中五点星的坐标,c#,asp.net,system.drawing,C#,Asp.net,System.drawing,我要做的是画一个五角星。我得到了坐标,但我想我错过了宽度和高度。我的思路是正确的,因为我测试了程序,使用代码输出一个矩形,这非常简单。代码是 g.DrawRectangle(new Pen(Color.Red), 50, 50, 50, 50); 但是对于一颗5角星,我不知道它的宽度和高度应该是多少。我非常感谢你的帮助。 这是: <%@ Page Language="C#" %> <%@ Import Namespace="System.Drawing" %&g

我要做的是画一个五角星。我得到了坐标,但我想我错过了宽度和高度。我的思路是正确的,因为我测试了程序,使用代码输出一个矩形,这非常简单。代码是

g.DrawRectangle(new Pen(Color.Red), 50, 50, 50, 50); 
但是对于一颗5角星,我不知道它的宽度和高度应该是多少。我非常感谢你的帮助。 这是:

 <%@ Page Language="C#" %>
     <%@ Import Namespace="System.Drawing" %>
     <%@ Import Namespace="System.Drawing.Imaging" %>
     <script runat="server">
     void 
     Page_Load()
     {
     Response.ContentType = "image/jpeg";
     Response.Clear();
     Bitmap bitmap1 = new Bitmap(151, 151);
     Graphics g = Graphics.FromImage(bitmap1);
     g.Clear(Color.White);
     Point[] points = {
     new Point(28, 0), new Point(495, 55), new Point(514, 55), 
     new Point(520,40), new Point(526, 55), new Point(550, 55), 
     new Point(530, 65), new Point(540,85), new Point(520, 72), 
     new Point(500, 85), new Point(510, 65), new Point(495,55)};
     g.DrawLines(new Pen(Color.Black), points);
     bitmap1.Save(Response.OutputStream, ImageFormat.Jpeg);
     bitmap1.Dispose();
     g.Dispose();
     Response.Flush();
     }
     </script>

无效的
页面加载()
{
Response.ContentType=“image/jpeg”;
Response.Clear();
位图bitmap1=新位图(151151);
Graphics g=Graphics.FromImage(位图1);
g、 清晰(颜色:白色);
点[]点={
新点(28,0),新点(495,55),新点(514,55),
新点(520,40),新点(526,55),新点(550,55),
新点(530,65),新点(540,85),新点(520,72),
新点(500,85),新点(510,65),新点(495,55)};
g、 抽绳(新钢笔(黑色),笔尖;
bitmap1.Save(Response.OutputStream,ImageFormat.Jpeg);
bitmap1.Dispose();
g、 处置();
Response.Flush();
}

屏幕截图

您的代码已按原样运行。您只需要使用一个方便的点数组。对于intance,对于150x150位图:

 protected void Page_Load(object sender, EventArgs e)
    {
        Response.ContentType = "image/jpeg";
        Response.Clear();
        Bitmap bitmap1 = new Bitmap(150, 150);
        Graphics g = Graphics.FromImage(bitmap1);
        g.Clear(Color.White);
        Point[] points = {
            new Point(75,0),
            new Point(150,150),
            new Point(0,50),
            new Point(150,50),
            new Point(0,150),
            new Point(75,0)
         };
        g.DrawLines(Pens.Black, points);
        bitmap1.Save(Response.OutputStream, ImageFormat.Jpeg);
        bitmap1.Dispose();
        g.Dispose();
        Response.Flush();
    }

找到你的max
x
和max
y
我想你需要两个底部高度相同的点。两个在中间具有相同的较高高度。还有一个高度更高,宽度为0的。找到我的最大值(x,y)是什么意思?我还以为被削减的(28,0)是它。等等你的意思是我必须给w和h一个尺寸来对应x和y坐标吗。所以四周的宽度和高度都是一样的。我会试试看,然后和你一起回去。这可能比我想象的要简单。“System.Drawing.Point”不包含接受4个参数的构造函数。我想那没用。我所做的是(28,0,10,10);但它对矩形有效。为什么?为什么不使用我尝试创建的星形形状呢?尝试使用这些点并按顺序绘制线…
点(0,60),点(30,0),点(-30,30),点(30,30),点(-30,0),点(0,60)