Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用C动态创建图形图像#_C#_.net - Fatal编程技术网

C# 使用C动态创建图形图像#

C# 使用C动态创建图形图像#,c#,.net,C#,.net,这是一个.net网站。我有一个100 x,y坐标的列表 我需要显示100个八角形,其中心点位于各自的坐标处 我通过将数组传递给javascript并动态创建和定位图像来实现这一点。但它看起来很糟糕,调整浏览器窗口的大小会导致问题等 那么,我能自己画一幅图吗?我看到这段代码回答了一个类似的问题: using (Bitmap bmp = new Bitmap(10, 10)) { using (Graphics g = Graphics.FromImage(bmp)

这是一个.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:\
的写权限


与其保存到磁盘,不如保存到
内存流
,然后将其呈现给HTTP响应。(在ASHX或MVC操作中)

Martin,添加正确的标记可能是个好主意(即SLacks的回答假设ASP.Net标记,这可能就是您要添加的标记)。也可以考虑询问每个问题的一个问题……我不知道这是否有任何帮助,但是你可以使用HTML5画布来做一些非常轻量级的编码……SLaks所说的。但您也应该/可能能够获得对App_数据文件夹的写入权限…感谢您的帮助。我已经按照你的建议做了——代码在原始帖子中。我画了一个多边形。。。你能给多边形上色吗?我看不出有什么办法。