使用或工具的实验性SVG优化器。

penkit-optimize的Python项目详细描述


penkit-optimize是一个命令行工具,用于优化和可视化用于笔式打印的svg图形的绘图顺序。有关详细信息,see this post

安装

此包具有非python依赖项libspatialindex。最简单的安装方法是通过conda:

conda install rtree

安装后,penkit-optimize可以通过pip

pip install penkit-optimize

用法

查看cli选项:

penkit-optimize -h
    usage: penkit-optimize [-h] [--greedy] [--noopt] [--runtime RUNTIME]
                           [--merge-paths [MERGE_PATHS]] [--vis-output VIS_OUTPUT]
                           input_file [output_file]

    positional arguments:
    input_file
    output_file

    optional arguments:
    -h, --help            show this help message and exit
    --greedy, -g          Run greedy optimization only.
    --noopt, -n           Don't run any optimization.
    --runtime RUNTIME, -t RUNTIME
                          Maximum runtime (in seconds) of optimization stage.
    --merge-paths [MERGE_PATHS], -m [MERGE_PATHS]
                          Merge paths that start/end near each other. You may
                          optionally specify a threshold distance (in document
                          units) after this parameter.
    --vis-output VIS_OUTPUT, -v VIS_OUTPUT
                          If provided, save a visualization of the path to this
                          SVG file.

示例

使用默认选项生成优化的svg(最多5分钟运行时间),并保存到input-optimized.svg

penkit-optimize input.svg

不要优化任何东西,只要可视化传输即可:

penkit-optimize input.svg -n -v noopt-vis.svg

noopt-vis.svg

examples/noopt-vis.svg

运行贪婪优化(仅限),保存文件,并保存结果的可视化效果:

penkit-optimize input.svg output.svg -g -v greedy-vis.svg

greedy-vis.svg

examples/greedy-vis.svg

运行完全优化并将结果可视化:

penkit-optimize input.svg output.svg -v opt-vis.svg

opt-vis.svg

examples/opt-vis.svg

运行1.5个单元内开始/结束的完整优化和合并路径:

penkit-optimize input.svg -m 1.5

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java OutOfMemoryError以及如何使运行继续   java树映射内存使用率   使用带有java spark的javascript获取api的挂起承诺状态(POST请求)   java Android:存储用户单击的CardView   输入了有关拖动的java信息   单元测试中的java DecimalFormat(“·#,##0”)前缀   来自客户端的java超时webservice调用   java未使用的超类变量   如何在Java中的参数提示中强制执行整数限制   启动期间Tomcat中出现java错误:找不到DB名称   java Marshall/Unmarshall地图   一个类在另一个类中的java访问变量   如何在java中对字符数组的文本进行对齐?   从jenkins运行时,使用selenium上传excel文件的java不起作用   java将double转换为BigInteger   java Android键盘问题与按键释放   旋转java在两个旋转矩形之间的碰撞检测   在TestNG中执行时,XML中出现java启动错误无法继续执行测试