【发布时间】:2021-07-05 07:11:30
【问题描述】:
目标:将图标(单色、黑色、透明背景)从 svg 或 xcf 转换为 png 并更改图标的颜色(例如,黑色变为白色或指定的十六进制颜色)。
ImageMagick 版本: 7.0.11-6
目前的进展: 我有一个 Windows 批处理文件
- 对于文件夹中的每个 xcf (Gimp) 文件将
- 对于文件夹中的每个文件
col-*.*- 调整大小、重新采样,然后重新映射
col-*.*文件并保存 png
- 调整大小、重新采样,然后重新映射
- 对于文件夹中的每个文件
我已经取得了一些成功,但我发现
- col- 文件不能都是一种颜色(我想要的颜色),否则整个新 png 也只是那个块颜色。
- 如果 col- 文件是具有我想要的颜色和透明背景的 png,它适用于深色,但较浅的颜色最终会在边缘周围模糊。
- -remap 不适用于 svg 源文件,使用 -fill 和十六进制值会使创建的所有 png 图像变得模糊。
有没有更好的方法给这些 png 重新着色?还是有办法阻止模糊? 我刚刚开始使用 ImageMagick。非常感谢!
当前批处理文件
@echo off
set resolution=72
set width=48
setlocal enableDelayedExpansion
for %%i in (*.xcf) do (
echo Converting [ %%i --^> %%~ni.png ] ^(%width%@%resolution%^)
for %%x in (os-col-*.*) do (
magick %%i -resize %width% -resample %resolution% -remap %%x %%~ni-%width%-%%x.png
echo Done %%i - %%x
)
echo Done %%i
)
黑色png,没有模糊感
应用了 -remap 的 png 中的模糊性
【问题讨论】:
-
为什么不直接编辑 SVG 文件来改变颜色呢?或者,在调整大小之前尝试更改颜色。
标签: svg imagemagick png gimp