首页 > 解决方案 > python - 如何在python中使用带有Path变量的svg.path绘制椭圆?

问题描述

我得到了这个列表,这就是我必须以字符串格式创建 Path 变量的内容。

def trans_hatch_ellipse(dxf_entity, dwg) :
    tmp = dxf_entity.to_spline(False) 
    ctrlPoints = tmp.control_points
    ctrlCnt = tmp.control_point_count 
    strPath = "" 
    for i in range(ctrlCnt()) : 
        if i%4 == 0 : 
             strPath += "M " + str(ctrlPoints[i][0]) + " " +str(ctrlPoints[i][1]) + " C " 
        else : strPath += str(ctrlPoints[i][0]) + " " + str(ctrlPoints[i][1]) + " " 
    svg_entity = dwg.path(d = strPath, fill = "blue", stroke = "green", stroke_width = 1.0 / SCALE) 
    svg_entity.scale(SCALE, -SCALE) 
    del tmp 
    return svg_entity 

这是我用来画椭圆的方法,这里 ctrlCnt() = 9 的值和 ctrlPoints 的值以 VertexArray 的形式给出

VertexArray = [
(2.0, 4.500000000000001, 0.0),
(0.9999999999999998, 4.500000000000001, 0.0),
(0.9999999999999996, 2.5, 0.0),
(0.9999999999999996, 0.49999999999999956, 0.0),
(1.9999999999999998, 0.4999999999999991, 0.0),
(3.0, 0.49999999999999867, 0.0),
(3.0000000000000004, 2.4999999999999996, 0.0),
(3.000000000000001, 4.5, 0.0),
(2.0000000000000004, 4.500000000000001, 0.0)
]

这是我从.dxf文件中读取以将其转换为.svg文件的值。

使用这些坐标,我应该在 Path 变量中传递什么值来创建椭圆形状?

标签: pythonpython-3.xsvgpathsvg-animate

解决方案


推荐阅读