Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.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# Quickgraph.Graphviz是否需要安装Graphviz来绘制图形图像?_C#_Graphviz_Quickgraph - Fatal编程技术网

C# Quickgraph.Graphviz是否需要安装Graphviz来绘制图形图像?

C# Quickgraph.Graphviz是否需要安装Graphviz来绘制图形图像?,c#,graphviz,quickgraph,C#,Graphviz,Quickgraph,我能够通过命令行使用graphviz(dot.exe)生成图形文件。需要使用Quickgraph.Graphviz生成图形,无需安装。可能吗?这取决于您如何定义“安装”。如果您希望通过代码使用系统上当前的dot.exe,您可以(通过一个示例,我无法在线重新查找): 使用: var exportGraph=新的GraphWizalgorithm(graphToDraw); Generate(newgraphrender(),“ActionGraph”); 您可以使用exportGraph.For

我能够通过命令行使用graphviz(dot.exe)生成图形文件。需要使用Quickgraph.Graphviz生成图形,无需安装。可能吗?

这取决于您如何定义“安装”。如果您希望通过代码使用系统上当前的dot.exe,您可以(通过一个示例,我无法在线重新查找):

使用:

var exportGraph=新的GraphWizalgorithm(graphToDraw);
Generate(newgraphrender(),“ActionGraph”);
您可以使用
exportGraph.FormatVertex/FormatEdge
修改渲染。虽然这里我假设“dot”在环境变量中,但是如果安装得太多,没有理由不能将进程指向本地文件

public sealed class GraphRenderer : IDotEngine
{
    public string Run(GraphvizImageType imageType, string dot, string outputFileName)
    {
        string output = outputFileName;
        File.WriteAllText(output, dot);

        // assumes dot.exe is in the path EnvVar:
        var args = $@"{output} -Tjpg -O";
        System.Diagnostics.Process.Start("dot", args);
        return output;
    }
}
var exportGraph = new GraphvizAlgorithm<TNode, TEdge>(graphToDraw);
exportGraph.Generate(new GraphRenderer(), "ActionGraph");