iOS icon各尺寸一键生成

前提

跟UI 要一张1024大小的icon图

效果

运行此脚本一键可以生成各个尺寸的icon。

脚本工作原理

  1. 创建AppIcon.appiconset文件夹
  2. 生成各个尺寸icon

shell脚本,代码利用了Mac上的sips命令对图片进行了缩放

使用步骤

1、脚本和icon1024.png 图片放在一个目录内


image.png

2、执行终端命令:

sh AppIconTool.sh

脚本内目前支持的尺寸有:20 29 40 60 76 83.5, 需要其他尺寸的话,可以自己修改脚本就可以简单实现。

脚本源码:AppIconTool.sh

#!/bin/sh

# 配置尺寸数组  
imageSize=(20 29 40 60 76 167)

# 图片路径
imagePath=$1
# 输出保存路径
exportPath=$2

if [ ! -n "$1" ] ;then
    imagePath="icon1024.png"
fi

if [ ! -n "$2" ] ;then
    exportPath="."
fi

# 输入各个尺寸icon
iPhoneIconWithSize() {
iPhoneSize=`expr $1 \* 2`
sips -Z $iPhoneSize $imagePath --out ${exportPath}/AppIcon.appiconset/[email protected]
iPhoneSize=`expr $iPhoneSize \* 3`
iPhoneSize=`expr $iPhoneSize / 2`
sips -Z $iPhoneSize $imagePath --out ${exportPath}/AppIcon.appiconset/[email protected]
}

# 输出Contents.json
setContents() {

json="{  \"images\" : ["
arr=$1
for iPhoneSize in  ${arr[*]}
do
size="${iPhoneSize}x${iPhoneSize}"
# 添加1x
filename="icon_${size}.png"
json1x="{
      \"size\" : \"$size\",
      \"idiom\" : \"iphone\",
      \"scale\" : \"2x\",
      \"filename\" : \"$filename\"
    },"
json="$json$json2x"

# 添加2x
filename="icon_${size}@2x.png"
json2x="{
      \"size\" : \"$size\",
      \"idiom\" : \"iphone\",
      \"scale\" : \"2x\",
      \"filename\" : \"$filename\"
    },"
json="$json$json2x"
# 添加3x
filename="icon_${size}@3x.png"
json3x="{
      \"size\" : \"$size\",
      \"idiom\" : \"iphone\",
      \"scale\" : \"3x\",
      \"filename\" : \"$filename\"
    },"
json="$json$json3x"
done

json1024="{
      \"filename\" : \"icon_1024x1024.png\",
      \"idiom\" : \"ios-marketing\",
      \"scale\" : \"1x\",
      \"size\" : \"1024x1024\"
 }"
json="$json$json1024"
jsonEnd="],  \"info\" : { \"version\" : 1,  \"author\" : \"xcode\" } }"
json="$json$jsonEnd"

cat <${exportPath}/AppIcon.appiconset/Contents.json

$json

EOF
}

mkdir ${exportPath}/AppIcon.appiconset

setContents  "${imageSize[*]}"

for iPhoneSize in  ${imageSize[*]}
do
iPhoneIconWithSize $iPhoneSize
done

sips -Z "1024" $imagePath --out ${exportPath}/AppIcon.appiconset/icon_1024x1024.png



你可能感兴趣的:(iOS icon各尺寸一键生成)