0

これは .net Web サイトです。100 個の x、y 座標のリストがあります。

中心点がそれぞれの座標にある 100 個の八角形を表示する必要があります。

配列を JavaScript に渡し、画像を動的に作成して配置することで、これを行うことをいじりました。しかし、見栄えが悪く、ブラウザウィンドウのサイズを変更すると問題などが発生します。

それで、自分でグラフィックを作成できますか?このコードが同様の質問に答えているのを見ました:

    using (Bitmap bmp = new Bitmap(10, 10))
    { 
        using (Graphics g = Graphics.FromImage(bmp)) 
        { 
            g.Clear(Color.White); 
            g.DrawLine(Pens.Black, new PointF(9.56f, 4.1f), 
                                           new PointF(3.456789f, 2.12345f)); 
        } 
        bmp.Save(@"c:\myimage.jpg", ImageFormat.Jpeg);
    }

これを使って簡単に八角形を描くことができますか?

ただし、上記のコードを実行しようとすると、このエラーが発生します。

GDI+ で一般的なエラーが発生しました

八角形などを描くのに時間がかからないのであれば、長時間を費やしたくありません。

最後に、グラフィックを保存する必要はありません。画像フォルダーから取得した画像のように表示したいだけです。

編集:以下の提案に加えて、次のようにコードを変更しました:

using (MemoryStream ms = new MemoryStream())
            {
                bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
                byte[] buffer = ms.GetBuffer();
                HttpContext.Current.Response.OutputStream.Write(buffer, 0, buffer.Length); 
            }

これは私の絵を画面に表示しています。微調整する必要があるものはありますか?

4

1 に答える 1

2

への書き込みアクセス権がない可能性がありますC:\

ディスクに保存する代わりに、 に保存しMemoryStreamてから、HTTP 応答にレンダリングする必要があります。(ASHX または MVC アクションの内部)

于 2012-10-05T17:49:45.340 に答える