教你用Python脚本快速为iOS10生成图标和截屏
介绍
在开发iOS应用过程中,经常需要为应用的图标和截屏生成适应各种尺寸的图片。手动去调整和导出这些图片费时费力,而使用Python脚本则可以大大提高效率。本文就教大家如何用Python脚本快速为iOS10生成图标和截屏。
准备
为了运行本脚本,首先需要安装Pillow库。
pip install Pillow
接下来,我们需要准备一份iOS10应用图标模板和一份iOS10应用截屏模板。可以在网上找到,也可以自己制作。这里我们假设我们已经准备好了这两份模板:
- 应用图标模板:
AppIconTemplate.png
- 应用截屏模板:
ScreeshotTemplate.png
用法
我们需要用到的Python脚本是 generate_ios_images.py
,通过该脚本可以生成适应各种尺寸的iOS应用图标和截屏。
在执行脚本时,需要传入四个参数,分别为:
source_image
:原始图片路径gen_image_output_dir
:生成图片保存路径gen_screenshot_output_dir
:生成截屏保存路径devices
:适配设备列表
命令格式如下:
python generate_ios_images.py source_image gen_image_output_dir gen_screenshot_output_dir devices
我们来看一下具体的示例:
python generate_ios_images.py AppIconTemplate.png icons screenshots "iPhone SE, iPhone 6, iPad Retina"
这条命令的意思是,以AppIconTemplate.png
为原始图片,生成适应iPhone SE, iPhone 6, iPad Retina
三种设备的应用图标,并保存在icons
文件夹中;同时生成适应iPhone SE, iPhone 6, iPad Retina
三种设备的应用截屏,并保存在screenshots
文件夹中。
还可以通过以下命令一次性生成适应所有iOS设备的应用图标和截屏:
python generate_ios_images.py AppIconTemplate.png icons screenshots all
示例
为了更好的说明用法,我们来看两个具体的示例。
示例一
我们需要为一个新的iOS应用制作图标和截屏。根据苹果官方文档,需要为以下设备制作应用图标:
-
iPhone (iOS 11 and later)
- iPhone App – 60pt + 120pt
- iPhone App – 60pt @2x + 120pt @2x (High Resolution)
- iPhone App – 60pt @3x + 120pt @3x (High Resolution)
-
iPad (iOS 11 and later)
- iPad App – 20pt + 40pt
- iPad App – 20pt @2x + 40pt @2x (High Resolution)
- iPad App – 29pt + 58pt
- iPad App – 29pt @2x + 58pt @2x (High Resolution)
- iPad App – 40pt + 80pt
- iPad App – 40pt @2x + 80pt @2x (High Resolution)
- iPad App – 76pt + 152pt
- iPad App – 76pt @2x + 152pt @2x (High Resolution)
- iPad Pro App – 167pt @2x (High Resolution)
我们为了方便,只制作iOS11及以上版本的图标。根据上面的设备列表,我们需要一张 1024x1024 的模板图标。我们可以直接使用官方提供的模板 ios_1024.png
,也可以自己制作一张 1024x1024 的图片并保存为 icon_src.png
。我们选择使用官方提供的模板 ios_1024.png
,并将其保存为 AppIconTemplate.png
,并使用以下命令生成图标:
python generate_ios_images.py AppIconTemplate.png icons screenshots "iPhone App – 60pt + 120pt,iPhone App – 60pt @2x + 120pt @2x (High Resolution),iPhone App – 60pt @3x + 120pt @3x (High Resolution),iPad App – 20pt + 40pt,iPad App – 20pt @2x + 40pt @2x (High Resolution),iPad App – 29pt + 58pt,iPad App – 29pt @2x + 58pt @2x (High Resolution),iPad App – 40pt + 80pt,iPad App – 40pt @2x + 80pt @2x (High Resolution),iPad App – 76pt + 152pt,iPad App – 76pt @2x + 152pt @2x (High Resolution),iPad Pro App – 167pt @2x (High Resolution)"
上述命令会在当前目录下生成 icon
文件夹,并在其中生成适应各种尺寸的图标。我们可以直接将 icon
文件夹拖到Xcode工程中即可。
接下来,我们需要制作应用截屏。根据苹果官方文档,需要为以下设备制作应用截屏:
-
iPhone (iOS 11 and later)
- 5.8-inch Super Retina display (iPhone X)
- 5.5-inch display (iPhone 8 Plus)
- 4.7-inch display (iPhone 8)
- 4-inch display (iPhone SE)
-
iPad (iOS 11 and later)
- 12.9-inch iPad Pro (2nd generation)
- 12.9-inch iPad Pro (1st generation)
- 10.5-inch iPad Pro
- 9.7-inch iPad Pro
- iPad (6th generation)
- iPad (5th generation)
- iPad Air 2
- iPad Air
- iPad mini 4
- iPad mini 2
我们选择需要为以下设备制作截屏:
- iPhone SE
- iPhone 8
- iPhone 8 Plus
- iPhone X
- 10.5-inch iPad Pro
- 12.9-inch iPad Pro (2nd generation)
我们将 iOS10 的截屏模板 ScreeshotTemplate.png
拷贝到当前目录下,并使用以下命令生成截屏:
python generate_ios_images.py AppIconTemplate.png icons screenshots "iPhone SE,iPhone 8,iPhone 8 Plus,iPhone X,10.5-inch iPad Pro,12.9-inch iPad Pro (2nd generation)"
上述命令会在当前目录下生成 screenshots
文件夹,并在其中生成适应各种尺寸的截屏。我们可以直接将 screenshots
文件夹拖到Xcode工程中即可。
示例二
我们需要将一个已有的iOS应用更新,更新包含图标和截屏。原来的应用图标是根据苹果官方文档制作的,已经适应了所有的iOS设备。现在我们需要为应用更新图标,并更新应用截屏。
首先,我们需要制作一个 1024x1024 的新图标。我们将官方模板 ios_1024.png
拷贝一份,并修改其颜色,保存为 icon_src.png
。接着,我们使用以下命令生成更新后的图标:
python generate_ios_images.py icon_src.png icons screenshots all
上述命令会在当前目录下生成 icon
文件夹,并在其中生成适应所有尺寸的图标。我们可以直接将 icon
文件夹拖到Xcode工程中并替换原来的图标。
接下来,我们需要更新应用截屏。我们必须手动拍摄适应各种尺寸的截屏,并根据官方文档调整截屏大小和比例。这一过程比较费时费力,无法自动化。当然,我们可以使用Python脚本批量处理一些简单的图片调整,但这还是需要人工操作的。完成所有截屏的拍摄和调整后,我们将截屏保存在一个文件夹中,比如 screenshots_new
。接着,我们使用以下命令将截屏自动生成适应其它设备的尺寸。
python generate_ios_images.py AppIconTemplate.png icons screenshots_new all
上述命令会在当前目录下生成 screenshots
文件夹,并在其中生成适应各种尺寸的截屏。我们可以直接将 screenshots
文件夹拖到Xcode工程中并替换原来的截屏。
结论
使用Python脚本能够快速为iOS设备生成适应各种尺寸的图标和截屏,大大提高了开发效率。通过本文的介绍和示例,我们可以快速上手这一工具。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:教你用Python脚本快速为iOS10生成图标和截屏 - Python技术站