Created
April 11, 2017 16:51
-
-
Save roblabs/d2c3536760755de7715d2248e7854444 to your computer and use it in GitHub Desktop.
Generate iOS Launch or splash screen from a single image
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash -e | |
# -------------------------------------------------------- | |
# Generate iOS Launch items from a single image | |
# (c) 2017 ePi Rational, Inc. | |
# | |
# Modified from original script which generated app icons for iOS, | |
# originally written by | |
# Ben Clayton, Calvium Ltd. | |
# https://gist.github.com/benvium/2be6d673aa9ac284bb8a | |
# -------------------------------------------------------- | |
# Process | |
# As of 2017, the largest launch screen for iOS is. | |
# 12.9-inch iPad Pro | 2048px by 2732px | `[email protected]` | |
# 12.9-inch iPad Pro | 2732px by 2048px | `[email protected]` | |
# | |
# The idea is to create a portrait and landscape at the above sizes, | |
# then use ImageMagick to scale. | |
# ImageMagick steps | |
# * create a white background with the desired image extent | |
# * scale the large image, while tending towards the center | |
# * testing showed that the `-resize` alone did not properly create the final image sizes. | |
# Check imagemagick is installed | |
# http://stackoverflow.com/questions/592620/check-if-a-program-exists-from-a-bash-script | |
command -v convert >/dev/null 2>&1 || { echo >&2 "Requires imagemagick, but it's not installed. See http://www.imagemagick.org. Aborting."; exit 1; } | |
# Uses the largest images as the base image for generating the others | |
portrait="[email protected]" | |
landscape="[email protected]" | |
convert $portrait -resize 320x480 -gravity center -background white -extent 320x480 Default.png | |
convert $portrait -resize 640x960 -gravity center -background white -extent 640x960 [email protected] | |
convert $portrait -resize 1024x768 -gravity center -background white -extent 1024x768 Default-Landscape.png | |
convert $portrait -resize 2048x1536 -gravity center -background white -extent 2048x1536 [email protected] | |
convert $portrait -resize 768x1024 -gravity center -background white -extent 768x1024 Default-Portrait.png | |
convert $portrait -resize 1536x2048 -gravity center -background white -extent 1536x2048 [email protected] | |
convert $portrait -resize 1080x1920 -gravity center -background white -extent 1080x1920 [email protected] | |
convert $landscape -resize 1920x1080 -gravity center -background white -extent 1920x1080 [email protected] | |
convert $portrait -resize 750x1334 -gravity center -background white -extent 750x1334 [email protected] | |
convert $landscape -resize 1334x750 -gravity center -background white -extent 1334x750 [email protected] | |
convert $portrait -resize 640x1136 -gravity center -background white -extent 640x1136 [email protected] | |
convert $landscape -resize 1136x640 -gravity center -background white -extent 1136x640 [email protected] | |
# convert $landscape -resize 2048x2732 -gravity center -background white -extent 2048x2732 [email protected] | |
# convert $landscape -resize 2732x2048 -gravity center -background white -extent 2732x2048 [email protected] | |
convert $portrait -resize 1536x2048 -gravity center -background white -extent 1536x2048 [email protected] | |
convert $landscape -resize 2048x1536 -gravity center -background white -extent 2048x1536 [email protected] | |
# **Splash Screens** | Portrait & Landscape, [iOS Human Interface Guidelines](https://developer.apple.com/ios/human-interface-guidelines/graphics/launch-screen/) | ![](assets/README-2dc5de66.png) | |
# Default (Portrait)| 320px by 480px | `Default.png` | |
# Default (Portrait)| 640px by 960px | `[email protected]` | |
# iPad | 1024px by 768px | `Default-Landscape.png` | |
# iPad Retina | 2048px by 1536px | `[email protected]` | |
# iPad | 768px by 1024px | `Default-Portrait.png` | |
# iPad Retina | 1536px by 2048px | `[email protected]` | |
# iPhone 6s Plus, iPhone 6 Plus | 1080px by 1920px | `[email protected]` | |
# iPhone 6s Plus, iPhone 6 Plus | 1920px by 1080px | `[email protected]` | |
# iPhone 6s, iPhone 6 | 750px by 1334px | `[email protected]` | |
# iPhone 6s, iPhone 6 | 1334px by 750px | `[email protected]` | |
# iPhone SE | 640px by 1136px | `[email protected]` | |
# iPhone SE | 1136px by 640px | `[email protected]` | |
# 12.9-inch iPad Pro | 2048px by 2732px | `[email protected]` | |
# 12.9-inch iPad Pro | 2732px by 2048px | `[email protected]` | |
# 9.7-inch iPad Pro, iPad Air 2, iPad mini 4, iPad mini 2 | 1536px by 2048px | `[email protected]` | |
# 9.7-inch iPad Pro, iPad Air 2, iPad mini 4, iPad mini 2 | 2048px by 1536px | `[email protected]` |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment