2017-01-27 29 views
1

使用svgwrite-1.1.9使用折线实体构建svg文件。使用svgwrite-1.1.9翻转输出

如何防止翻转输出? 看起来坐标被搞乱了 - 垂直(y)被翻转了。

下面是我使用生成折线代码:

# generate svg element 

line = dwg.add(dwg.polyline(
    pairs, 
    stroke='black', fill='blue')) 

偶是在笛卡尔坐标元组的列表(对XY):

[(2228.427, 1643.919), (2419.889, 1643.919), (2419.889, 1814.927), (2431.918, 1985.935), (2216.397, 1985.935), (2228.427, 1814.927), (2228.427, 1643.919)] 

我使用Inkscape中来可视化svg输出,以及内部编辑器可视化备用数据流;内部版本是正确的版本。我错过了一个实体。

正确的实体块被旋转(在源中),左边的不是(但是被翻转)。您可以在svg中看到整个右侧块也垂直翻转,因此它位于应该位于的位置之上。

我没有设置任何用户视/在SVG坐标。

我很确定XY是相同的(SVG,其他)。 SVG和数据坐标系之间

enter image description here

+1

这是因为[缺省坐标系(https://www.w3.org/TR/SVG/coords.html#InitialCoordinateSystem)中的SVG文件被定向与正y轴指向下方,它是相对我们有多少人在数学课上学过。许多计算机设备使用这种颠倒系统。通过建立用户坐标系翻转或镜像y值与x轴的另一侧可以通过“修正”,它在这种情况下。此转换将涉及将所有y值缩放-1,然后平移(添加)希望x轴移动以补偿的量。 – martineau

+0

事实上,我只需要反转Y坐标以纠正它。非常感谢您的洞察! – shawn

回答

1

差异是正确的答案,我不能标志马蒂诺是正确的(没有足够的代表?)enter image description here,但是这让我发布一个最新的图形。