簡體   English   中英

使用C#動態創建圖形圖像

[英]Create a graphic image dynamically using C#

這是一個.net網站。 我有一個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 +中發生了一般錯誤

如果我不能讓它運行,我不想花很長時間來畫出八角形等。

最后一件事,我不需要保存圖形,我只是想顯示它,好像它是我從images文件夾中獲取的圖像。

編輯:繼續下面的建議我修改了這樣的代碼:

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

這是我的畫在屏幕上。 有什么應該調整的嗎?

您可能沒有C:\\寫入權限。

您應該保存到MemoryStream ,然后將其呈現給HTTP響應,而不是保存到磁盤。 (在ASHX或MVC行動中)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM