2013-02-19 157 views
3

我正在使用GraphViz來確定我的C#應用​​程序中的控件位置。GraphViz設置頁面寬度

但我無法給graphViz點生成器輸出的寬度。

這是即時通訊使用

Digraph x { 
    autosize=false; 
    size="25.7,8.3!"; 
    resolution=100; 
    node [shape=rect]; 
    (edges definitions comes here) 
    ... 

但似乎對生成的明文文件沒有影響的點文件的paremeters。

我是否缺少一些設置頁面寬度?

問候

回答

6

我添加a -> b到你的榜樣。這裏是明文輸出我得到:

digraph x { 
    graph [autosize=false, size="25.7,8.3!", resolution=100]; 
    node [label="\N", shape=rect]; 
    graph [bb="0,0,54,108"]; 
    a [pos="27,90", width=0.75, height=0.5]; 
    b [pos="27,18", width=0.75, height=0.5]; 
    a -> b [pos="e,27,36.104 27,71.697 27,63.983 27,54.712 27,46.112"]; 
} 

正如你所看到的,sizeresolution屬性包含在輸出中。

你可以改變的sizeresolution值,這不會改變任何事情比明文輸出的屬性別的。所有節點和邊緣的位置是相對於到圖的邊界框(bb)。

但是,如果你決定,例如輸出PNG,graphviz的將使用這些信息根據您sizeresolution屬性縮放邊框,並計算出最終的圖像大小。

在此示例中,生成的png將爲444乘831像素(8.3英寸,分辨率爲100 dpi,結果爲830像素,頂部像素可能是由於舍入誤差)。

您可以在this answer中找到有關size屬性和最終圖像大小的更多詳細示例。