【发布时间】:2016-09-18 23:45:09
【问题描述】:
我要做的是画一个 5 角星。我得到了坐标,但我相信我缺少宽度和高度。我走在正确的轨道上,因为我使用代码测试了程序以输出一个矩形,这非常简单。代码是
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>
【问题讨论】:
-
找到你的最大值
x和最大值y -
我认为您需要在底部具有相同高度的两个点。中间高度相同的两个。一个高度更高,宽度为 0。
-
找到我的 max(x, y) 是什么意思?我认为 pared (28, 0) 就是这样。坚持,稍等。你的意思是我必须给 w 和 h 一个维度来对应 x 和 y 坐标。所以这将是相同的宽度和高度。我会试试看,然后回来陪你。这可能比我想象的要容易。
-
'System.Drawing.Point' 不包含采用 4 个参数的构造函数。我想那没有用。我所做的是(28,0,10,10);但它适用于矩形。为什么?为什么不使用我正在尝试创建的星形?
-
尝试使用这些点并按顺序画线...
Point(0, 60), Point(30, 0), Point(-30, 30), Point(30, 30), Point(-30, 0), Point(0,60)
标签: c# asp.net system.drawing