使用或工具的实验性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筛选hibernate中引用的属性   java如何在Bluej中创建以long(integer)为参数的对象   java如何通过JDBC在access中创建新字段   java如何获取格式化日期?   用模板方法模式设计过滤器接口   java编译错误:缺少返回语句   java从JOOQ中的代码生成中排除特定的模式   java小程序生命周期:init()和start()与destroy()和stop()之间的实际区别是什么?   如何在Java中获取类的所有公共静态方法?   匿名onClick方法内的java活动结果   java如何从数千个具有良好性能的寄存器构建excel工作表?   标记Java中多级中断的适当使用   网络化基于Java的Telnet代理服务器,支持TLS。但为什么是java。网SocketException:连接被拒绝   java将magnolia升级到5.6.1,vaadin资源   springcloudnetflixhystrix中的java重写HystrixCommandSpect bean