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



©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 自然衝擊療法由丁愚仁老師發明,又稱「禪拍」,「拍打」,"自然拍打"。 丁師及其團隊總結經驗,不同的各種病症(含絕症...
    YouAreMyMusic阅读 2,289评论 0 4
  • 人的一生很长,人的一生也很短,我们所扮演的角色总是不尽相同,于是在这个多元化的社会,我们总是戴着面具生活...
    尛博阅读 1,246评论 0 1
  • 文/陈慕小姐 华灯初上,天空就下起了雨,是那种倾盆大雨,夏季的专属。让这闷热终于透了一口气。说不上有多凉快,但是总...
    我是陈慕阅读 448评论 0 8
  • 江左梅郎舟中笛 云南霓凰马上骑 青梅竹马两无猜 郎情妾意男女才 青草河边剑双舞 正元月下花灯前 两厢长情世无意 灭...
    小小七阅读 231评论 6 10