【问题标题】:Ruby GraphViz DOT Incorrectly Rendering PNGsRuby GraphViz DOT 错误地渲染 PNG
【发布时间】:2012-12-03 04:30:51
【问题描述】:

我正在编写一个小程序来为一个类渲染一些二叉树的图像。我希望程序自动为我制作一堆 .dot 和 .png 文件,但是除非我手动调用它,否则渲染 .png 的行不起作用。故障码:

@file_num = 0

data.each do |x|
    @tree.add(x)
    draw_frame(@tree, @filename, @file_num)
    @file_num += 1
end


(0...(data.length)).each do |x|
    `dot -Tpng #{@filename}#{x}.dot > #{x}.png`
end

当我走在树上时,它会生成 .dot 文件(使用并条框法,我最终会从文件中生成 .gif)。在这里,使用反引号对dot... 的调用应该会生成 png,但事实并非如此。但是,如果我在命令行中运行完全相同的代码,它就可以正常工作。有什么想法吗?

【问题讨论】:

    标签: ruby graphviz dot


    【解决方案1】:

    请尝试以下方法:

    `dot -Tpng #{@filename}#{x}.dot -o#{x}.png`
    

    这将 stdout 管道命令 > 替换为 dot 的普通参数,告诉它自己写入文件。

    【讨论】:

    • 你知道的,原来是我创建后忘记关闭文件了。
    【解决方案2】:

    您可能需要考虑使用ruby-graphviz gem。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-03
      • 2019-11-13
      • 1970-01-01
      • 1970-01-01
      • 2021-10-04
      相关资源
      最近更新 更多