【发布时间】:2020-11-18 04:23:55
【问题描述】:
我正在创建一个 Python3 程序,它可以生成带有我个人项目所需的随机圆圈的 SVG 图像。现在该程序运行良好,但我想微调一些参数以产生可能的最佳结果。我的想法是有一个显示中间结果的显示窗口和一个交互式外壳来更改一些生成圆圈位置的值,而不必创建数千个不同的图像并进行比较。完成后,我可以简单地保存结果。
问题来了:我真的不知道如何实现这个结果。我首先想到的是使用 Matplotlib,它通常非常适合这类任务,但它似乎无法读取 SVG 文件。我也想过直接把圆画成图,但是有的必须要模糊(SVG文件中的高斯模糊滤镜),而且Matplotlib似乎不能模糊形状。最后,我寻找能够显示 SVG 文件或直接显示程序生成 SVG 文件的文本的其他东西,但没有运气。
编辑:我刚刚尝试用 CairoSVG 将 SVG 文件转换为 PNG。它可以工作,但它不支持高斯模糊,所以它是一个次优的解决方案。我可以接受将 SVG 文件转换为 PNG 或其他格式的解决方案,但我希望它至少支持高斯模糊,否则我可以简单地使用 Matplotlib 绘制每个圆圈。
提前感谢您的帮助!
【问题讨论】:
-
我刚刚尝试了 PyQt5 和 QSvgWidget,跟随 this idea;但它也不显示模糊。
标签: python matplotlib svg