如何解决更改文件夹中多个文件的笔触或填充颜色
我有 9600 个黑色图标 (SVG)。我需要更改笔触和/或填充(如果存在为白色,然后再次为蓝色)。然后我将有两个包裹,一个是白色的,一个是蓝色的。有没有办法在 Adobe Illustrator 中自动执行此操作而无需打开每个文件。 或者其他方式?
我尝试过这样的终端,但没有奏效。
#/bin/sh
COLOR=#fff
sed -i -E 's/fill\="[^"]+"//g; s/stroke\="[^"]+"//g' *.svg
sed -i "s/<path/<path fill=\"$COLOR\" stroke=\"$COLOR\"/g" *.svg
sed -i "s/<rect/<rect fill=\"$COLOR\" stroke=\"$COLOR\"/g" *.svg
sed -i "s/<polygon/<polygon fill=\"$COLOR\" stroke=\"$COLOR\"/g" *.svg
sed -i "s/<circle/<circle fill=\"$COLOR\" stroke=\"$COLOR\"/g" *.svg
sed -i "s/<ellipse/<ellipse fill=\"$COLOR\" stroke=\"$COLOR\"/g" *.svg
sed -i "s/<polyline/<polyline fill=\"$COLOR\" stroke=\"$COLOR\"/g" *.svg
sed -i -E "s/stroke\:[^\;]+/stroke\:$COLOR/g" *.svg
sed -i -E "s/fill\:\#[0-9]+/fill\:$COLOR/g" *.svg
解决方法
我相信这可以通过两种方式完成。通过 RegExp 文本替换和通过 Illustrator 脚本。但是 Illustrator 会打开每个文件,当然。并将保存它。这是个问题吗?您无需手动打开文件。
至于文本替换有一个技巧。据 SVG 所知,如果要绘制黑色填充形状,则不需要为该形状添加任何样式描述。黑色填充形状是默认形状。下面是一个黑色矩形的例子:
<rect x="100" y="100" width="100" height="100"/>
这里 a 是蓝色矩形:
<style type="text/css">
.st0{fill:#0000ff}
</style>
<rect x="100" y="100" width="100" height="100" class="st0"/>
因此,除非原始颜色不是黑色,否则将任何颜色更改为任何颜色的任务非常简单。由于黑色填充形状基本上没有类。您需要先为所有没有类的形状添加一些类。它需要更古怪的 RegExp。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。