将psd文件转换为svg文件

psd2svg的Python项目详细描述


基于psd-toolssvgwrite的psd到svg转换器。

PyPI VersionBuild Status

安装

使用pip安装:

pip install psd2svg

用法

该软件包附带一个命令行工具:

psd2svg input.psd output.svg

当输出路径是目录或省略时,工具将推断输出 输入的名称:

psd2svg input.psd output/  # => output/input.svg
psd2svg input.psd          # => input.svg

指定--resource-path标志时,将导出所有PNG资源 到由--resource-path

指定的路径
psd2svg input.psd output.svg --resource-path .
# => output.svg, xxx1.png, ...

psd2svg input.psd output/ --resource-path .
# => output/input.svg, output/xxx1.png, ...

psd2svg input.psd output/ --resource-path=resources/
# => output/input.svg, output/resources/xxx1.png, ...

psd2svg input.psd svg/ --resource-path=../png/
# => svg/input.svg, png/xxx1.png, ...

API

该包包含高级转换函数psd2svg

frompsd2svgimportpsd2svg# File IO.psd2svg('path/to/input.psd','path/to/output/')# Stream IO.withopen('input.psd','rb')asfi:withopen('output.svg','w')asfo:psd2svg(fi,fo)# psd_tools IO.frompsd_toolsimportPSDImagepsd=PSDImage.load('path/to/input.psd')svg=psd2svg(psd)print(svg)# Additionally, individual layers can be directly rendered.layer_svg=psd2svg(psd[3])print(layer_svg)

该软件包还具有光栅化器模块,可将SVG转换为PIL图像:

frompsd2svg.rasterizerimportcreate_rasterizerrasterizer=create_rasterizer()image=rasterizer.rasterize(svg)image.save('path/to/output.png')

光栅化器需要硒+铬驱动,阿帕奇蜡染,或 墨景。一定要事先安装好。

测试

调用tox:

tox

存储后端支持

要使用AWS S3存储后端:

pip install psd2svg[s3]

或:

pip install boto3

工具可以指定url而不是文件路径(s3需要boto3):

psd2svg http://example.com/input.psd
psd2svg s3://bucketname/path/to/input.psd s3://bucketname/path/to/output/

要使用HDFS存储后端:

pip install psd2svg[hdfs,kerberos]

注释

  • SVG 1.1不包括Photoshop中的所有混合模式(例如, linear-dodge
  • 滤波效果近似。一些效果没有实现。
  • 大多数调整层没有实现。
  • 未实现智能对象筛选器。
  • 浏览器支持:SVG渲染质量因 浏览器。铬往往是最好的质量。
  • 此工具的API不是线程安全的。
  • 要使用hdfs存储后端,需要python 2.7环境 并且应该启用kerberos,并且只有读访问可用。

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

推荐PyPI第三方库


热门话题
java替换字符串中的第二个重复单词   java如果另一个字段存在表单错误,如何使用th:classapend?   如何在Java中使用SFTP获取目录的最新文件?   JavaJDBC连接池监视GlassFish   java Jersey验证不适用于查询参数   java可以解释输出是如何变成这样的?   java修复贵宾犬问题,需要SSLContext帮助。getInstance(“TLS”)   java如何在一个微服务的多个实例之间维护SSemitter列表?   java Spring MVC 4.2.2和Hibernate 5.0.2给出错误   Java两级泛型奇怪的行为   命令行界面Java如何从文件和cli读取参数?   部署GAE应用程序时java“初始化失败”   java Selenium 2.53.0 firefox窃听   SpringMVC中的java自定义验证   socket服务器未从java tcp/ip客户端接收数据   bufferedreader如何读取文件并查找到另一行的特定行