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



©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,384评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,845评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,148评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,640评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,731评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,712评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,703评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,473评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,915评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,227评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,384评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,063评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,706评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,302评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,531评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,321评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,248评论 2 352

推荐阅读更多精彩内容

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