使用具有用于透明的特殊背景色的 Imagemagick 创建 24 位位图

Create 24bit Bitmap with Imagemagick with special background color used for transparency

我正在为仅加载 24 位 BMP 的旧 gamedev 软件创建 oldskool 精灵图像。该软件检测左上角像素颜色并使其在运行时透明。

我正在尝试使用 Imagemagick 从我拥有的透明 PNG 生成此类 BMP 图像,但我需要背景为石灰 #32cd32。

批处理文件中的以下命令只是制作了一个 24 位 BMP 文件,但无论如何透明区域都显示为黑色。

convert %1 -format bmp -type truecolor -background lime BMP3:"out.bmp"

很难在没有看到图像的情况下估计问题,有点我希望 alpha 需要被删除并替换为背景颜色。

convert %1 -format bmp \
           -type truecolor \
           -alpha Remove \
           -background lime \
           BMP3:"out.bmp"

参见“Alpha Remove”部分。

The "-alpha Remove" method (added to IMv6.7.5) is designed to remove the transparency from an image, using the current "-background".

使用“-flatten”选项:

convert  -background "#32cd32" -flatten BMP3:out.bmp

这会将透明图像与指定的背景颜色合成。

在 ImageMagick 中,"lime" 是饱和绿色 (#00ff00)。如果你想要 #32cd32 使用 '-background "#32cd32" '