批量转换DDS文件到DDS没有mipmap

时间:2015-01-30 18:58:33

标签: bash scripting batch-processing gimp dds-format

我有一个Mount&刀锋:Warband mod称为公元1257年。 mod本身很棒,但是必须重新保存所有纹理以从dds文件中删除mipmaps,以消除GNU / Linux上的故障。当然,我可以手动执行此操作,但这将花费大量时间(超过2000个纹理),并且有任何方法让gimp只打开并保存文件而不使用mipmap。 另外,上次我想这样做时我使用了带有Imagemagicks转换的循环,但它保留了mipmap。那么我该如何进行这种转换?

2 个答案:

答案 0 :(得分:0)

您应该使用'定义' dds:mipmap如果你不想保留mipmap。将其设置为零将禁用mipmap的写入。

convert input.dds -define dds:mipmaps=0 output.dds

您可以在此处找到所有dds定义的列表:http://www.imagemagick.org/script/formats.php

答案 1 :(得分:0)

如果您想要将它们转换为适当位置,请使用ImageMagick的mogrify,这基本上是convert,但会就位。

使用mogrify可能会不可逆转地破坏您的图片,因此请明智地使用它并避免使用长串convert - 如命令行(使用简单命令)。

find . -type f -name "*.DDS" | xargs -L1 -I{} mogrify -define dds:mipmaps=0 "{}"

如果您确定自己的路径名中没有空格并且想要提高速度,那么就这样做

find . -type f -name "*.DDS" | xargs mogrify -define dds:mipmaps=0