我有以下用于向图像添加透明颜色的批处理脚本,它工作得很好
for /f %%f in ('dir /b .') do convert %%f -transparent white tra/%%f
但是它会自动将图像的位深度转换为 8 bpp 或更少(如果适用)。我不想那样。尝试了“-depth 32”和“-define png:bit-depth=value=32”但没有成功,imagemagick 仍然将图像转换为较低的位深度。 有什么帮助吗?
最佳答案
PNG 中的“位深度”是指每个样本的位数,而不是每个像素的位数。所以“-depth 32”意味着 96 位 RGB 或 128 位 RGBA,但你必须写入支持如此大深度的图像格式(不是 PNG,它仅支持最多 16 位/样本)。
你可以使用
convert input_file -transparent white png32:output.png
获得 32 位 RGBA 像素(每个样本 8 位),如果这是您需要的话。
关于ImageMagick 不转换 PNG 位深度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21732953/