You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

svglib缩放相关疑问:缩放参数对应的具体计量单位是什么

svglib scale功能及参数说明
  • scale(sx, sy)是svglib输出的ReportLab绘图对象自带的缩放方法,参数sx、sy为无单位的纯比例系数,分别对应横向、纵向的缩放倍率,你示例中赋值为10的参数就是指将原始SVG的所有图形属性放大10倍,本身没有对应像素、英寸这类物理/显示单位。
  • 实际输出的单位逻辑:svglib调用svg2rlg解析SVG文件时,会先把SVG内定义的所有单位(包括px、cm、in等)统一转换为ReportLab的默认基础单位pt(点,1pt = 1/72英寸),缩放操作是在这个单位转换完成后执行的比例运算,因此缩放后的最终尺寸单位仍然为pt。
  • 你提供的示例代码中先手动重设绘图宽高再调用scale的写法,是为了避免缩放后图形超出画布边界,属于适配缩放场景的常规正确写法。
drawing = svg2rlg(StringIO(textwrap.dedent('''
                {}'''.format(xml_svg))))
                # scale 适配逻辑
                sx = sy = 10
                drawing.width, drawing.height = drawing.minWidth() * sx, drawing.height * sy
                drawing.scale(sx, sy)

内容的提问来源于stack exchange,提问作者lookers

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 10:48:01