2016-05-21 16 views
1

私がしようとしているのは、5つの尖った星を描くことです。私は座標を得たが、私は幅と高さが足りないと思う。私は正しい軌道に乗っています。なぜなら、コードを使ってプログラムをテストして、矩形を出力することができたからです。コードはASP.NETの5つ星の座標の座標

g.DrawRectangle(new Pen(Color.Red), 50, 50, 50, 50); 

ですが、私はちょうど幅と高さがどうあるべきかわかりません。私はどんな助けにも感謝しています。 はここにある:

<%@ 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> 

画面がimage

+0

があなたの最大 'X'と 'y' – Jasen

+0

最大を探す私はあなたが底に同じ高さを持つ2つのポイントが必要だと思います。 2つは同じ高さの中間にあります。 1つは高さが高く、幅が0である。 –

+0

max(x、y)がどういう意味ですか?私はそれが守られていると思った(28、0)。つかまっている。 xとyの座標に対応するwとhの次元を与えなければならないということですか?だから、それはすべて同じ幅と高さになります。私はそれを試し、あなたと一緒に戻ってきます。これは私が思ったよりも簡単かもしれません。 – swydell

答えて

1

あなたのコードを撮影し、すでにそれがあるとして動作します。便利な点群を使うだけでいいです。 intanceのために、150×150ビットマップのために:

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(); 
    } 

enter image description here