更改图标内容
在导出图标之前,您需要对其进行适当的修复。 Iconify Tools 提供了许多用于操作图标内容的函数:修复各种问题、优化代码、更改调色板。
用法
下面列出的所有函数都适用于 SVG 实例。
处理图标集
如何使用函数解析图标集中的所有图标?
可以通过使用 forEach() 和 forEachSync() 方法来实现:
iconSet.forEach(async (name, type) => {
if (type !== 'icon') {
// Ignore aliases and variations: they inherit content from parent icon, so there is nothing to change
return;
}
const svg = iconSet.toSVG(name);
if (svg) {
// Change colors to red
parseColors(svg, {
defaultColor: 'red',
callback: (attr, colorStr, color) => {
return !color || isEmptyColor(color) ? colorStr : 'red';
},
});
// Update icon from SVG instance
iconSet.fromSVG(name, svg);
}
});
// The rest of code here清理
在运行任何图标操作函数之前,您应该验证并清理图标。请参阅 cleanupSVG() 函数。
函数
有几个用于操作图标的函数:
runSVGO()
函数 runSVGO() 用于优化图标。
仅使用 cleanupSVG() 清理图标是不够的。该函数非常基础;它仅执行最基本的操作以去除不良内容。它主要用于验证。
请使用 runSVGO() 来正确清理和优化图标。
parseColors()
函数 parseColors() 用于分析或更改图标的调色板。
通常,图标要么没有调色板(依赖 fill 样式),要么使用黑色。这两种选项在使用 Iconify 时都是不可接受的。在 Iconify 中,所有未硬编码调色板的图标都应使用 currentColor。
此函数可用于更改颜色,确保图标不包含不应有的颜色,并为依赖默认颜色的形状添加颜色。
deOptimisePaths()
函数 deOptimisePaths() 确保图标能在旧版软件中正常工作。
所有浏览器都支持现代 SVG,其中包括 <path> 元素中的压缩弧线。然而,有许多软件并不支持。通常是那些依赖古老 SVG 解析库的图像编辑软件。
scaleSVG()
函数 scaleSVG() 用于更改图标尺寸。
resetSVGOrigin()
函数 resetSVGOrigin() 将 viewBox 的左上角移至 0。
removeFigmaClipPathFromSVG()
函数 removeFigmaClipPathFromSVG() 尝试移除不必要的裁剪路径,这些路径通常在使用 Figma 导出图标时被添加。
convertSVGToMask()
函数 convertSVGToMask() 将图标内容转换为遮罩。
如果您想将多色图标更改为单色图标,并将源颜色用作色调,这将非常有用。