上一篇文章讲到,我们可以使用BmpCvST.exe软件手动把png文件生成对应的DTA文件。
如果是简单的生成几张图片,倒也无所谓,但是当你开发项目的时候,可能一个项目下来,会有几百张图片需要生成,所以在这个时候必须使用脚本来解放你的生产力,不然没有耕不坏的田,只有累死的牛!
好了,下面我贴下 自动生成脚本代码,名字为get_dta.sh:
all_files=`find $1 -name "*.png"`
echo -n "" > $2
for file in $all_files
do
colors=`identify -verbose $file |grep "Colors:" |awk '{print $2}'`
#filetype=`identify -verbose $file |grep "alpha:" `
colorspace=`identify -verbose $file |grep "Colorspace:" `
filetype=`identify -verbose $file |grep "Type:"|awk '{print $2}' `
alpha=`identify -verbose $file |grep "Alpha: "`
filename=`basename $file .png`
filename=${filename//-/_}
dirname=`dirname $file`
dirname=${dirname//\//\\}
file=${file//\//\\}
cat $2
if [ "$alpha" != "" ]; then
echo BmpCvtST.exe $file -saveas$dirname\\$filename.dta,3,27 -exit >> $2
continue
fi
echo $file
echo $colors
if [ $colors -le 4 ];then #根据图片类型,转换为对应格式的DTA文件
echo BmpCvtST.exe $file -convertintobestpalette -saveas$dirname\\$filename.dta,3,2 -exit >> $2
else
echo BmpCvtST.exe $file -saveas$dirname\\$filename.dta,3,8 -exit >> $2
fi
done
echo "converting file $2 to DOS format ..."
unix2dos $2 > /dev/null
echo "convert complete"
echo -e "Done\n"
代码里面,有根据不同的图片格式,转换为不同的DTA,这个怎么确认呢?
下面截图看看,都有什么格式,都代表什么!
其实这个类型,在BmpCvST.exe软件里面,help帮助栏找找就有了!
所以最后执行 ./get_dta.sh ./res get.bat 这个脚本会产生自动化的脚本 get.bat
运行他,就会自定生成当前目录下 png文件对应的 dta文件了!