Inkscape:圆坐标

Inkscape:圆坐标,inkscape,Inkscape,Inkscape中是否有命令将路径坐标舍入到最接近的整数值 例如,要替换此路径,请执行以下操作: m 0,0 261.98828,-890.8828 -299.999999,-900 2593.486319,54.4063 -253.9941,850.09565 264.3594,870.83005 z 据此: m 0,0 262,-891 -300,-900 2593,54 -254,850 264,871 z 选项1:创建路径时需要使用捕捉,或者在创建路径后捕捉节点。将栅格设置为1px×

Inkscape中是否有命令将路径坐标舍入到最接近的整数值

例如,要替换此路径,请执行以下操作:

m 0,0 261.98828,-890.8828 -299.999999,-900 2593.486319,54.4063 -253.9941,850.09565 264.3594,870.83005 z
据此:

m 0,0 262,-891 -300,-900 2593,54 -254,850 264,871 z

选项1:创建路径时需要使用捕捉,或者在创建路径后捕捉节点。将栅格设置为1px×1px,并在绘制时捕捉

选项2:或者您需要编写一个脚本,查找SVG文件中的所有“d”属性,并将其中的值舍入为整数


有两种方法可以设置数字精度(对于SVG本身和保存到优化的SVG时)-但它们只定义整数的长度-因此,如果将其设置为4,则可以得到200.1以及1200或12.48,因此在这种情况下没有帮助。

下面的示例显示了3个圆/点和一条连接它们的线。这些点是四舍五入的整数,而该行有尾随的十进制值

javascript在转换所有路径(仅一条)并将其对齐到最接近的整数之前等待2秒钟(以便进行比较)。这可以通过路径角与圆的对齐来看出

在浏览器中加载SVG,在浏览器控制台中运行JavaScript,然后通过右键单击节点并复制outerHTML导出DOM。这样就可以了

setTimeout(()=>{
document.querySelectorAll('path').forEach((p)=>{
p、 集合属性(
“d”,
p、 getAttribute('d')
.split(/(\d*\.?\d*)/g)
.map((e)=>{
返回isNaN(parseFloat(e))?
e:
数学四舍五入(解析浮点(e),0)
}).加入(“”)
})
},2000)
html,
身体{
保证金:0;
高度:100vh;
溢出:隐藏;
}

,有办法设置坐标精度

  • 文件->另存为
  • 将其另存为“优化的SVG”
  • 在第一个对话框设置中,将坐标“精度”设置为3或任意值