我有一个从 SVG 编辑器获得的 SVG 形状。
如何将其转换为所需尺寸原点的坐标?
现在,为了将其放置在某处,您必须添加 to path transform="scale(...) translate(...)",并且您必须手动选择移位和缩放值。总的来说,scale translate毕竟其他尺寸开始起作用。
如何正常使用这些形状并将它们放置在画布上?
我想要什么:一些实用程序或功能,将坐标和大小path-a 重新制作为原点和所需的大小。
<svg style="width:400px; height:400px; background-color:pink">
<path d="m53 297c0 0-1 0-1 0 0 0 0-3 0-7 0-6 0-10 1-12 0-1 1-1 2-1 1 0 2 1 3 2 0 1 0 5 0 9 0 2 0 4 0 5 0 2-1 3-2 4-1 1-1 1-3 0zm-24-5c-1 0-1-1-1-1 0-1 1-4 4-10 2-3 2-5 3-6 2-2 2-2 4 0 1 1 1 1 1 2 0 2-1 5-3 8-2 3-3 4-3 5 0 1-1 2-2 3-1 1-1 1-3 0zm46-3c-3-3-9-13-9-15 0-1 1-2 1-3 0 0 1 0 2-1 2 0 2 0 2 0 2 1 5 7 8 14l1 3-1 1c-1 1-3 2-3 2 0 0-1-1-2-1zm-65-16c-1 0-1-2-1-3 0-1 7-6 10-7 2-1 3-1 4-1 1 0 1 1 1 2 0 1 0 2 0 2 0 1-3 2-6 4-1 0-2 1-3 2-2 1-4 1-5 1zm86-2c-1 0-2 0-6-3-2-1-4-2-6-3-2-1-3-2-4-3-1-1-2-2-2-3 0-1 0-2 2-2 1 0 4 0 6 1 2 1 9 6 11 7 1 1 2 2 1 4-1 2-1 2-3 1zm-56-1c-2 0-5-1-6-2-3-2-5-5-7-8-3-5-4-14-2-19 2-7 9-15 15-19 2-1 5-2 6-2 1 0 1 0 1 1 1 1 1 4 0 5 0 1-1 2-4 5-7 6-8 9-9 14 0 2-1 4-1 5 0 2 1 6 3 8 5 7 13 8 24 2 3-2 5-4 9-10l2-3 0-3c0-3 0-4-1-5-1-2-3-3-5-4-1-1-2-1-4-1-2 0-3 0-5 1-3 1-6 3-7 6 0 1-1 1 0 3 0 2 1 4 2 5 1 1 1 1 2 1 1 0 1 0 1 0 0 0 0-1-1-1-2-2-2-4-1-6 1-1 4-3 5-3 2 0 3 1 5 3 2 3 3 5 1 9-1 3-5 6-8 7-2 1-6 0-8 0-1 0-2-1-2-1-1 0-3-5-3-7-1-4 0-10 2-13 2-2 5-5 9-7 4-2 5-3 9-3 4 0 6 1 9 3 5 4 7 9 7 16 0 4 0 8-1 10-1 2-2 4-6 7-6 5-12 7-21 9-3 0-8 0-11 0zM5 248c-4 0-4-1-5-2-1-1-1-2 0-2 1-2 4-2 12-2 6 0 6 0 7 1 1 0 1 1 2 2 1 2 1 2-2 3-3 1-8 2-14 1zm80-1c-1-1-1-1-1-2 0-2 1-3 6-4 1 0 3-1 4-1 1 0 3-1 6-1 4 0 4 0 5 0 1 1 1 2 1 3-1 1-1 2-5 3-5 1-9 2-12 2-3 0-3 0-4 0zM19 230c-9-5-14-8-14-10 0-1 0-2 1-3 1 0 1 0 3 0 2 1 7 3 9 4 1 1 3 2 4 3 3 2 3 3 2 5-1 1-2 2-3 2 0 0-1-1-3-1zm58-2c-1 0-2-2-2-2 0-1 0-1 2-3 3-3 6-5 8-7 1-1 2-1 3-1 2 0 4 2 3 4-1 1-3 3-5 5-5 3-7 4-8 4zm-46-10c-2-2-4-5-5-9-1-3-1-3-1-5 0-3 0-4 2-4 1 0 2 1 2 1 0 0 1 2 3 5 3 5 4 7 4 10 0 2 0 2-2 3-1 0-1 0-2-1zm25 0c-1-1-2-2-2-3 0-1 1-10 1-12 1-3 2-5 4-6 1 0 2 0 2 2 1 2 1 7-2 18 0 0-1 1-1 1-2 1-1 1-2 0z" id="path826" style="fill:green;"/>
</svg>
滚动浏览下面的示例以查看该图。
我需要像这样将这个形状放在画布上:
如何正确完成?

定位调整——现有贴片
显然,在编辑器的设置中,文档大小是
100х100px图片中心的黑色方块,并且图像是在文档边距下方创建的。400x400px为了使绘图在\u200b\u200bdocument的区域内。为此,设置
viewportwidth="400"和height="400"viewBox="0 0 400 400"红框是 svg 文档的边框,为清晰起见在 svg 文件的标题中设置style="border:1px solid red;"400x400px必须抬起它196px才能将它移动到坐标原点(留出4px,这样图形的线条就不会从上面截断)到提高它min-y,改变参数viewBox<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="400" height="400" viewBox="0 196 400 400">我们看到 shape 定位到了应该的位置,但是 svg 文档太大了,所以我们需要减小它的大小
当 svg 图像复杂、陌生且最初无法正确重绘时,需要进行此类调整操作。
怎么做才对?
假设您需要绘制带有尺寸的徽标
100x100px为此,您可以在矢量编辑器中设置所需的文档大小,或者编写一个简短的模板文件并将其加载到矢量编辑器中。
前几天我发现了一个有趣的工具(链接)。在这种情况下,您只需要插入一个元素,
path然后选择类型 -absolute:由德米特里添加
要确定转移多少,请使用函数
getBBox()。从中您可以轻松找到转移的坐标。
在编辑器中打开(西班牙语:Inkscape)>选择形状>编辑>使页面适合选择(
Shift+Ctrl+R)>保存>从文件中删除正确的文件path或将新文件制作成神圣的形式。无需在编辑器中编辑 svg 即可剪辑 svg 渲染区域。为此,有一个 all 支持的属性
viewBox。SVG 是直接从您的问题中复制的,但添加了该属性:我找到的最简单的解决方案是使用
Inkscape.已经有一个类似的答案,但我正在添加带有图片的说明。
Resize to page selection。