图形对于cairo-renderer位图太大了。

36

我正在尝试使用pyreverse为项目源代码生成UML图像。当我运行pyreverse命令并指定生成png图像时,它会运行一段时间,然后显示:

dot: graph is too large for cairo-renderer bitmaps. Scaling by 0.271394 to fit
dot: graph is too large for cairo-renderer bitmaps. Scaling by 0.333083 to fit
然后,如果我打开其中任何一张图片,由于缩放,文字会变得不可读。 有没有办法不进行缩放,让图片保持大尺寸呢?
谢谢。
3个回答

42
选项
-T svg

对我有用


2
我只是确认这个对我有用(尽管我使用了-Tsvg - 没有空格,但可能没有区别)。 我在使用sfdp,以下是我的命令: sfdp -Tsvg -Goverlap=prism input.dot -o output.svg -v - user993683

9

Cairo的最大位图大小为32767x32767像素,dot会缩放您的图形以适应该区域。作为替代方案,您可以告诉pyreverse生成PDF文件,并使用其他工具将其转换为PNG,如果您确实需要位图。


1
当我从-o png更改为-o pdf时,图表显示为空。有什么想法如何解决这个问题吗? - zom-pro
1
无法修复。cairo已经损坏,无法生成真正的大型图像。它只是一个玩具。 - Leo

5
在2019年,您可以使用以下命令将图表输出为SVG格式:

-o svg


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接