如何为不同大小缩放iOS应用程序图标

7
每次更改应用程序图标时,都需要为Xcode生成适当的图标大小。我一直在寻找一种有效的方法来生成这些图标。
很明显,自动化过程不会关心像素拟合或类似的细节。但是对于我们大多数人来说,简单的AppleScript应该可以解决问题。
下面的屏幕显示了所有所需的尺寸:
我收集了不同的来源,并为每个人制作了一个简单的工作脚本...所以你可以查看我的答案。

https://itunes.apple.com/gb/app/iconify/id416289784?mt=12 - CW0007007
我知道那些应用程序...但是随着苹果引入的每个新尺寸,您又需要手动完成相同的工作。下面的脚本可以很容易地扩展。我只是想分享这个。 - Daniel Bleisteiner
3个回答

6

以下是一个简单的AppleScript,欢迎大家自由适应和使用:

on run
    set f to choose file
    processTheFiles({f})
end run

on open theFiles
    processTheFiles(theFiles)
end open

on processTheFiles(theFiles)
    tell application "Image Events" to launch
    repeat with f in theFiles
        set thisFile to f as text

        -- iPhone       
        scaleAndSave(f, thisFile, 29 * 1, "-iPhone-29")
        scaleAndSave(f, thisFile, 29 * 2, "-iPhone-29@2x")
        scaleAndSave(f, thisFile, 40 * 2, "-iPhone-40@2x")
        scaleAndSave(f, thisFile, 57 * 1, "-iPhone-57")
        scaleAndSave(f, thisFile, 57 * 2, "-iPhone-57@2x")
        scaleAndSave(f, thisFile, 60 * 2, "-iPhone-60@2x")

        -- iPad
        scaleAndSave(f, thisFile, 29 * 1, "-iPad-29")
        scaleAndSave(f, thisFile, 29 * 2, "-iPad-29@2x")
        scaleAndSave(f, thisFile, 40 * 1, "-iPad-40")
        scaleAndSave(f, thisFile, 40 * 2, "-iPad-40@2x")
        scaleAndSave(f, thisFile, 50 * 1, "-iPad-50")
        scaleAndSave(f, thisFile, 50 * 2, "-iPad-50@2x")
        scaleAndSave(f, thisFile, 72 * 1, "-iPad-72")
        scaleAndSave(f, thisFile, 72 * 2, "-iPad-72@2x")
        scaleAndSave(f, thisFile, 76 * 1, "-iPad-76")
        scaleAndSave(f, thisFile, 76 * 2, "-iPad-76@2x")

    end repeat
    tell application "Image Events" to quit
end processTheFiles

on scaleAndSave(aPath, aFile, aSize, aName)
    set savePath to text 1 thru -5 of aFile & aName & text -4 thru -1 of aFile
    tell application "Image Events"
        set a to open aPath
        scale a to size aSize
        save a in savePath
    end tell
    delay 0.2
end scaleAndSave

这里提供了一个文件,只需下载、保存、双击并运行:https://dl.dropboxusercontent.com/u/170740/AppIcon.applescript

希望这能为您节省一些时间...


3
这将生成iOS 10和11所需的图标:
sips --resampleWidth 167 icon1024.png --out icon167.png
sips --resampleWidth 152 icon1024.png --out icon152.png
sips --resampleWidth 76 icon1024.png --out icon76.png
sips --resampleWidth 80 icon1024.png --out icon80.png
sips --resampleWidth 40 icon1024.png --out icon40.png
sips --resampleWidth 58 icon1024.png --out icon58.png
sips --resampleWidth 29 icon1024.png --out icon29.png
sips --resampleWidth 20 icon1024.png --out icon20.png
sips --resampleWidth 180 icon1024.png --out icon180.png
sips --resampleWidth 120 icon1024.png --out icon120.png
sips --resampleWidth 87 icon1024.png --out icon87.png
sips --resampleWidth 60 icon1024.png --out icon60.png

只需在包含icon1024.png的目录中打开终端,并粘贴上述内容即可生成所有所需图标。

2

我写了一个shell脚本,将其添加为我的一个项目的构建脚本。它可以从最大的图标生成所有图标:

# Generate all icon files from Icon_1024.png

#smaller app store icon
sips --resampleWidth 512 Icon_1024.png --out Icon_512.png

#iphone icons
sips --resampleWidth 114 Icon_1024.png --out Icon\@2x.png
sips --resampleWidth 57 Icon_1024.png --out Icon.png

#ipad icons
sips --resampleWidth 144 Icon_1024.png --out Icon-72\@2x.png
sips --resampleWidth 72 Icon_1024.png --out Icon-72.png

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接