跳转到主要内容

将Tkinter Canvas保存为SVG文件

项目描述

此模块提供了 convert 函数,用于将给定canvas对象上的所有或选定项转换为SVG。

支持的项

  • 线条

  • 带箭头的线条

  • 多边形

  • 平滑线条和多边形

  • 椭圆形(即圆形和椭圆)

  • 圆弧(所有类型,即ARC、CHORD、PIESLICE)

  • 矩形

  • 文本(仅限未展开的,即属性 width = 0

不支持的项

  • 图像

  • 位图

  • 窗口

不应用纹样。

公共函数

convert(document, canvas, items=None, tounicode=None)

  • document — SVG文档,支持DOM的对象,即提供 createElement 方法等。(可以使用 SVGdocument 函数获取此类对象)

  • canvas — Tkinter.Canvas对象

  • items — 要转换的对象列表;如果为 None,则转换所有项

  • tounicode — 用户函数,应在Tkinter应用程序使用其他而非ASCII编码时返回适当的Unicode字符串。默认情况下 tounicode = lambda text: unicode(text).encode('utf-8')。感谢 Jan Böcker 提供了解决方案。

SVGdocument

不接收任何参数,返回SVG文档;使用标准xml.dom.minidom模块中提供的类。

saveall(filename, canvas, items=None, margin=10, tounicode=None)

辅助函数:将整个画布或选定的项目保存到SVG文件中,设置适当的尺寸和视口;还可以设置额外的margin

warnings(mode)

模块可能会发出警告。默认情况下,它使用自定义函数将消息打印到标准错误。您可以通过调用方法canvasvg.warnings(mode)来更改此设置,该方法有三个可能的值

  • canvasvg.PYTHON — 使用标准模块warnings中的warn

  • canvasvg.MODULE — 使用自定义函数;

  • canvasvg.NONE — 不打印任何消息。

configure(*flags)

模块可能会使用<path><line>标签来表示段。默认情况下,它使用<line>。可以通过调用canvasvg.configure(*flags)来全局更改行为,并使用以下值之一

  • canvasvg.SEGMENT_TO_LINE — 使用<line>标签;

  • canvasvg.SEGMENT_TO_PATH — 使用<path>标签。

变更日志

以下是移动到Github之前的重大变更。

  • 2013-07-23 — 支持“原始”平滑线条(由Marc Culler贡献,plink的作者,网址为plink

  • 2011-02-20 — python3兼容性

  • 2011-01-25 — 更新saveall:使用项目列表导出

  • 2008-11-08 — 添加tounicode,可选参数

  • 2006-12-01 — 首次发布

项目详情


下载文件

下载适合您平台的应用程序。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

canvasvg-1.0.5.tar.gz (11.6 kB 查看哈希值)

上传时间

支持者:

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面