如何在Illustrator中沿用户自定义轴缩放SVG对象
沿弧形自身路径轴缩放的实现方案
你要的效果不是普通XY轴缩放能实现的,本质是以弧形的中心路径为基准,沿路径每个点的法线方向(也就是你图里画黑线的方向)收窄轮廓,让每个垂直于中线的横截面宽度变为原宽度的10%。Illustrator自带的变换面板缩放是沿全局直角轴生效的,自然达不到要求,按下面两种方法操作就行:
方法1:用Illustrator快速操作(效率最高)
- 先选中橙色弧形对象,如果这个弧形之前是用粗描边做的、后来转成了填充,先执行
对象 > 路径 > 轮廓化描边,确保它是标准的闭合填充路径 - 保持形状选中状态,执行
对象 > 路径 > 偏移路径 - 在弹出的设置窗口里调参数:
- 位移值填负数,初始可以先设成原弧形宽度的45%——毕竟总宽度要缩到原来的10%,相当于轮廓两侧各向内收45%的原宽度,加起来刚好收窄90%
- 连接方式选「圆角」,避免弧形的转角位置出现奇怪的尖角变形
- 把「预览」勾上,微调位移的数值,直到每个横截面的宽度刚好是原宽度的10%就可以停了
- 点确认生成的新形状就是你要的效果:整体XY方向的外轮廓尺寸只会小幅缩小,填充面积刚好是原面积的10%左右。
偏移路径的计算逻辑本来就是沿路径每个点的法线方向做等距偏移,完全匹配你要的「沿垂直黑线的假想曲线缩放」的要求,不用手动逐点改形状。
方法2:直接改SVG代码实现
如果不想开Illustrator,直接编辑SVG文件也能做:
- 如果原弧形是用描边写的:直接把
stroke-width的属性值改成原来的10%就行——SVG的描边本身就是沿路径法线方向生成宽度,天然符合你的缩放要求,需要填充形状的话,后续把描边转成轮廓路径就和原对象属性一致了 - 如果原弧形是自定义的闭合填充路径:可以加个SVG路径偏移滤镜,或者写几行JS采样路径上的点,按每个点的法线方向算好收缩后的坐标,重新生成闭合路径就行,核心逻辑和AI里的偏移路径是一样的。

内容的提问来源于stack exchange,提问作者pfadenhw
相关产品推荐
相关产品推荐

