无需登录 数据私有 本地保存

SVG插画等比例缩放器 - 换色与导出

10
0
0
0
导入SVG

拖拽SVG文件到此处

或点击上传 / 粘贴代码

实时预览
--

导入SVG以预览

支持拖拽、上传或粘贴代码

等比例缩放
锁定比例 --
%
颜色替换 0色
加载SVG后自动检测颜色
导出
PNG分辨率:
常见问题与知识点

SVG(可缩放矢量图形)的最大优势在于无损缩放。等比例缩放确保图形不变形,保持原始的宽高比(Aspect Ratio)。锁定宽高比后,调整宽度时高度会自动计算(反之亦然),避免拉伸失真。本工具默认锁定比例,确保输出质量。

工具会自动扫描SVG中的fillstroke属性,提取出所有hex颜色值(如#ff0000#333)和rgb/rgba颜色值。检测到的颜色会以彩色圆点展示,点击即可更换。替换会精确匹配颜色边界,避免误替换。注意:对于使用CSS类或currentColor关键字的颜色,需要手动编辑SVG代码处理。

SVG导出:保留矢量特性,文件小,可无限缩放,适合网页、UI设计、进一步编辑。
PNG导出:栅格化后的位图,适合直接使用(如社交媒体、文档嵌入),但放大后会模糊。建议使用2x或3x分辨率导出以获得清晰效果。PNG导出通过Canvas渲染实现,颜色替换和缩放均会生效。

工具优先读取SVG的viewBox属性来确定原始坐标空间尺寸。viewBox定义了SVG的视口(格式:min-x min-y width height),这是最可靠的尺寸来源。如果没有viewBox,则读取widthheight属性。两者都没有时,工具会尝试从渲染结果中获取尺寸。建议SVG文件始终包含viewBox属性以确保兼容性。

这些预设基于HSL色彩空间对原始颜色进行变换:
暖色调:将色相(Hue)调整到红-橙-黄范围(0°-60°),保持饱和度与亮度
冷色调:将色相调整到蓝-青范围(180°-270°)
自然色调:偏向绿色与大地色系
灰度:移除饱和度(Saturation=0),仅保留亮度信息
随机:生成随机但保持亮度一致的新颜色,确保视觉和谐

工具主要检测内联的fill="..."stroke="..."属性中的hex/rgb颜色值。以下情况可能无法自动检测:
• 使用CSS类或<style>块定义的颜色
• 使用currentColor关键字(继承父元素颜色)
• 使用CSS变量如var(--color)
• 使用url(#gradient)渐变引用
对于这些场景,建议在SVG代码中手动修改或先将样式内联化。

这可能是因为SVG引用了外部资源(如外部图片、字体等),Canvas在渲染时无法加载跨域资源。解决方案:
• 确保SVG是自包含的(所有资源内联)
• 将外部图片转为base64数据URI嵌入SVG
• 使用系统字体而非外部Web字体
• 尝试降低PNG分辨率倍率后重新导出