iOS腳本自動生成AppICon.

材料

  • 準備一張1024*1024的圖片Icon.
  • 準備腳本文件.

環境

Mac系統.
shell指令(Mac系統自帶.無須安裝.
創建一個腳本文件,以下是代碼.只要命名的後綴的為.sh即可並保存.例如:GenerateIcon.sh

打開你的終端, cd到GenerateIcon.sh所在的目錄下.例如放到Desktop中

cd Destop

然後終端輸入命令啟動腳本,$1 為你的1024圖片Icon路徑,$2 為你的生成文件夾路徑

格式.
sh xxx.sh $1 $2
例如
sh GenerateIcon.sh ./1024.png ./ouput

*如果你覺得染後

#!/bin/bash
#這是用於生成AppIconLOGO的腳本程序
#author Senfor

#為保證腳本正常的運行.
#version
#GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin18)
#Copyright (C) 2007 Free Software Foundation, Inc.

#更改圖片路徑和文件輸出路徑.
src_file=$1
dst_path=$2

# \033[字背景色;字體顏色m字符串[0m
# 97亮白色背景 32綠色
# \033[97;32m

#warn()警告顏色 由於寬度和高度不相等
warn() {
     local yellow="\033[1;33m"
     local normal="\033[0m"
     echo "[${yellow}WARNING${normal}] $1 , 圖片的寬度和高度不相等"
}

#error()警告顏色  圖片出錯/不存在
error() {
     local red="\033[1;31m"
     local normal="\033[0m"
     echo "[${red}ERROR${normal}] $1 ,圖片出錯/不存在"
}

#info()綠色顏色  輸出信息
info() {
     local green="\033[1;32m"
     local normal="\033[0m"
     echo "[${green}INFO${normal}] $1 ,輸出信息"
}



VERSION=1.0
AUTHOR=Senfor

usage() {
PATHIMGFILE=`basename $0`
cat << EOF
$PATHIMGFILE version $VERSION by $AUTHOR

參數
USAGE: $PATHIMGFILE

DESCRIPTION:
    用於腳本化生成ICON

確保腳本當前目錄下有圖片路徑.
可根據的自己的需求是否修改圖片路徑.
案例:
    $PATHIMGFILE

EOF
exit 1
}

while getopts 'h' arg; do
    case $arg in
        h)
            usage
            ;;
        ?)
            # OPTARG
            usage
            ;;
    esac
done

shift $(($OPTIND - 1))

#不需要判定腳本命令
#[ $# -ne 2 ] && usage


#命令指令開始起點,源文件和生成文件夾的路徑,可根據項目修改.
startGenerate(){
    # src_file=./1024.png
    # dst_path=./output

    # check source file
    [ ! -f "$src_file" ] && { error "The source file $src_file does not exist, please check it."; exit -1; }

    # check width and height 
    src_width=`sips -g pixelWidth $src_file 2>/dev/null|awk '/pixelWidth:/{print $NF}'`
    src_height=`sips -g pixelHeight $src_file 2>/dev/null|awk '/pixelHeight:/{print $NF}'`

    [ -z "$src_width" ] &&  { error "The source file $src_file is not a image file, please check it."; exit -1; }

    if [ $src_width -ne $src_height ];then
        warn "The height and width of the source image are different, will cause image deformation."
    fi

    # create dst directory 
    [ ! -d "$dst_path" ] && mkdir -p "$dst_path"

    # 修改AppIcon尺寸
    sizes_mapper=`cat << EOF
    Icon-20@2x        40
    Icon-20@3x        60
    Icon-29@2x        58
    Icon-29@3x        87
    Icon-40@2x        80
    Icon-40@3x        120
    Icon-60@2x        120
    Icon-60@3x        180
    Icon-1024        1024`

    OLD_IFS=$IFS
    IFS=$'\n'
    srgb_profile='/System/Library/ColorSync/Profiles/sRGB Profile.icc'

    for line in $sizes_mapper
    do
        name=`echo $line|awk '{print $1}'`
        size=`echo $line|awk '{print $2}'`
        #生成圖片
        info "Generate $name.png ..."
        if [ -f $srgb_profile ];then
            sips --matchTo '/System/Library/ColorSync/Profiles/sRGB Profile.icc' -z $size $size $src_file --out $dst_path/$name.png >/dev/null 2>&1
        else
            sips -z $size $size $src_file --out $dst_path/$name.png >/dev/null
        fi
    done

    info "Congratulation. 所有圖片生成成功,路徑在$dst_path."

    IFS=$OLD_IFS

}

#執行指令
startGenerate



你可能感兴趣的:(iOS腳本自動生成AppICon.)