首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设置svg中的默认单位(Python svgwrite)

设置svg中的默认单位(Python svgwrite)
EN

Stack Overflow用户
提问于 2012-10-22 15:15:55
回答 2查看 5.4K关注 0票数 6

我正在使用python的svgwrite生成SVG绘图。每次我想画什么的时候,我发现自己在做一件丑陋而尴尬的事情:

代码语言:javascript
复制
line = drawing.line(start = "%dmm" % start, end = "%dmm" % end)

我希望我能这样做:

代码语言:javascript
复制
line = drawing.line(start = start, end = end)

有没有办法将整个svg绘图的默认单位设置为'mm‘?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-22 17:42:17

一种可能的方式是将viewBox属性与文档大小一起设置,

代码语言:javascript
复制
dwg = svgwrite.Drawing('myDrawing.svg', size=('170mm', '130mm'), viewBox=('0 0 170 130'))

dwg.add(dwg.line(start=(30, 30), end=(50,50)))

dwg.save()

为我制作,

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8" ?>

<svg baseProfile="full" height="130mm" version="1.1" viewBox="0 0 170 130" width="170mm"
xmlns="http://www.w3.org/2000/svg" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:xlink="http://www.w3.org/1999/xlink"><defs /><line x1="30" x2="50" y1="30" y2="50" />     </svg>
票数 13
EN

Stack Overflow用户

发布于 2016-05-17 20:43:52

我刚刚发现你可以这样做:

代码语言:javascript
复制
from svgwrite import cm, mm
dwg = svgwrite.Drawing('my_drawing.svg', height='10cm', width='10cm')
dwg.add(dwg.line((0*cm, 0*cm), (10*cm, 10*cm))
dwg.save()
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13006601

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档