3

我有一个图表,我想使用网站上的图像来表示。问题是根据图形的当前状态动态生成此图像。

我正在使用带有 C# 的 ASP.Net MVC 3。

我一直在考虑使用一些工具(Graphviz 等)在硬盘上生成图像,然后将文件的路径传递给视图。

安全性不是一个真正的问题,因为这只是目前基于内部项目的工作,更重要的是它易于实施。

我一直在尝试 quickgraph,最终我让它生成了 DOT 文件(显然它忽略了我制作 PNG 的尝试)但代码失败,因为程序无权访问文件的生成位置。不过,我想这很容易解决。

您对我如何做到这一点有任何建议(如果我应该做一些完全不同的事情或者我如何将 DOT 文件呈现为 PNG)?

最好的问候,丹尼尔

4

2 回答 2

2

只是想指出我使用 Google Image Chart 解决了这个问题,他们有实验性的 Graphviz 支持:http ://code.google.com/apis/chart/image/docs/gallery/graphviz.html

只需生成一个 URL 并在您的页面上插入一个外部图像。

于 2011-08-24T13:26:53.743 回答
0

如果图形库允许,将结果写入内存流并使用键将其放入缓存(System.Web.HttpRuntime.Cache)中。

使用该键在视图中生成 img 标签并指向控制器('Image')中的操作('View'?),如“/Image/View/392838”。

创建这个控制器并从那里查看和提供内容(确保包括正确的 MIME 类型、内容类型等)。

在缓存中为对象指定一个合适的生命周期,例如 15 秒,滑动到期。

于 2011-05-07T11:08:16.033 回答