Skip to content
Snippets Groups Projects
make_icns.sh 719 B
Newer Older
  • Learn to ignore specific revisions
  • Ryan W's avatar
    Ryan W committed
    #!/bin/bash
    
    hluk's avatar
    hluk committed
    set -ex
    
    Ryan Wooden's avatar
    Ryan Wooden committed
    image_dir=src/images
    tmp_dir=icon.iconset
    
    Ryan Wooden's avatar
    Ryan Wooden committed
    out=${image_dir}/icon.icns
    
    hluk's avatar
    hluk committed
    rm -rf "${tmp_dir}"
    mkdir -p "${tmp_dir}"
    
    Ryan Wooden's avatar
    Ryan Wooden committed
    
    convert_img () {
    
    hluk's avatar
    hluk committed
        size=$1
        highdpi=$2
    
        target_img=${tmp_dir}/icon_${size}x${size}
        if [[ -n "$highdpi" ]]; then
            target_img="${target_img}@${highdpi}x"
            size=$(expr $size \* $highdpi)
        fi
        target_img="${target_img}.png"
    
        source_img=${image_dir}/icon_${size}x${size}.png
    
        cp "$source_img" "$target_img"
    
    Ryan Wooden's avatar
    Ryan Wooden committed
    }
    
    
    hluk's avatar
    hluk committed
    convert_img 16
    convert_img 16 2
    convert_img 32
    convert_img 32 2
    convert_img 128
    convert_img 128 2
    convert_img 256
    convert_img 256 2
    convert_img 512
    convert_img 512 2
    
    iconutil --convert icns --output $out "${tmp_dir}"
    rm -rf "${tmp_dir}"