我正在使用Inkscape制作模板SVG,我提取出矩形坐标以用于我自己的绘图程序。
我注意到Inkscape,在横向模式下,将一个translate(0,-308.2677)添加到组g元素,然后每个矩形rect元素都有一个相应的translate(0,308.2677)。
我的猜测是这是添加的(在A4模式308中,纵向是'高度 - 宽度'),以便将原点从左上角移动到左下角。因此,当Inkscape的用户从横向和纵向来回切换时,左下角将固定所有与之相关的项目。
对我而言,这看起来有点奇怪,因为Inkscape是一个SVG工具,SVG中的coords是左上角x向右增长,而y向下。
我的问题是,我可以将其关闭以强制Inkscape将原点保持在左上角而不是用额外的翻译来弄脏SVG吗?
奖励:为什么Inkscape会这样做?假设大多数人都是笛卡尔式或者有一个很好的编程理由,这只是美学吗?
感谢,
LB
答案 0 :(得分:0)
这个
有一个很好的编程原因
没有。并不是的。它可以追溯到计算机图形和内存映射屏幕缓冲区的早期阶段。 (0,0)位于左上方,因为那是最低的内存位置。
随着时间的推移,这成为大多数(但不是全部)计算机操作系统和图形格式的默认原点位置。我相信这就是原SVG作者也选择这种安排的原因。
我怀疑,正如你所做的那样,Inkscape作者可能选择了正常的笛卡尔左下角位置,因为它们虽然对用户来说更为熟悉。它们在矢量编辑软件中并不是唯一的。