我有很多像这样的 bmp 图像:
我需要将其转换为透明的 png 文件,例如:
基本上,蓝色(#00FFFF)需要变为透明,紫色(FF00FF)需要变为灰色(#747474)。
BMP 文件非常旧,颜色深度为 8 位,它们最初来自游戏“英雄无敌 3”,我正尝试将这个游戏移植到 webgl,但精灵目前是我最大的问题。
我已经发现这个原始主题其中推荐使用 imagemagick,但是我不知道如何使用 imagemagick 在 Windows 中批量转换文件,也不知道如何将 bmp 上的紫色转换为透明 png 中的实际灰色值。
我真的很想得到一些关于这方面的建议,或者一个关于使用 imagemagick 批量转换文件时 windows 命令提示符行需要什么样子的示例。
答案1
Imagemagickmogrify
可以做到这一点。
您的原图(我将其转换为 BMP,因为在 SuperUser 中它是 PNG)
mogrify -format png -transparent #00ffff *bmp
您还可以同时转换颜色
mogrify -format png -fill grey -opaque #FF00FF -transparent #00ffff *bmp
图像的阴影具有使用 #FF96FF 等颜色的抗锯齿边缘,可能需要将其合并到透明背景或阴影中。您可以使用-fuzz
选项
mogrify -format png -fuzz 80% -fill grey -opaque #FF00FF ^
-transparent #00ffff *bmp
请注意,在 Microsoft Windows 上,mogrify
不是一个单独的命令。您必须使用该magick
命令作为前缀,如下所示:magick mogrify ...