icns图标制作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了icns图标制作相关的知识,希望对你有一定的参考价值。

参考技术A 下面是一个将1024x102PNG(名为“Icon1024.png”)转换为所需icns文件的脚本。将其保存到文件夹中名为“CreateICNS.src”的文件中,然后将png文件保存在终端“cd”中的同一文件夹中,并键入“source CreateICNS.src”将其命名为:

mkdir MyIcon.iconset

sips -z 16 16    Icon1024.png --out MyIcon.iconset/icon_16x16.png

sips -z 32 32    Icon1024.png --out MyIcon.iconset/icon_16x16@2x.png

sips -z 32 32    Icon1024.png --out MyIcon.iconset/icon_32x32.png

sips -z 64 64    Icon1024.png --out MyIcon.iconset/icon_32x32@2x.png

sips -z 128 128  Icon1024.png --out MyIcon.iconset/icon_128x128.png

sips -z 256 256  Icon1024.png --out MyIcon.iconset/icon_128x128@2x.png

sips -z 256 256  Icon1024.png --out MyIcon.iconset/icon_256x256.png

sips -z 512 512  Icon1024.png --out MyIcon.iconset/icon_256x256@2x.png

sips -z 512 512  Icon1024.png --out MyIcon.iconset/icon_512x512.png

cp Icon1024.png MyIcon.iconset/icon_512x512@2x.png

iconutil -c icns MyIcon.iconset

rm -R MyIcon.iconset

python 愚蠢的简单脚本通过Alfred运行,从.app或.icns文件中生成512x512图标并将其复制到Munki仓库

# "{query}" string on line 18 is a tab-delimited string of a list of paths
# given by Alfred via a Finder selection

import os
import shutil
import subprocess
import sys
import tempfile

SIZE = '512x512'
MUNKI_REPO_ICONS_DIR = "/Volumes/munki_repo/icons"

if not os.path.exists('/usr/local/munki'):
    sys.exit(1)
sys.path.insert(0, '/usr/local/munki')
from munkilib import FoundationPlist

inputfiles = "{query}".split("\t")
for f in inputfiles:
    if f.endswith('.app'):
        iconfilename = FoundationPlist.readPlist(os.path.join(f, 'Contents/Info.plist'))['CFBundleIconFile']
        if iconfilename.endswith('.icns'):
            iconfilename = iconfilename.split('.icns')[0]
        icnspath = os.path.join(f, 'Contents/Resources', iconfilename + '.icns')
        if not os.path.exists(icnspath):
            print >> sys.stderr, "Icon path %s not found!" % icnspath
            continue
    elif f.endswith('.icns'):
        icnspath = f
    name_portion = os.path.splitext(os.path.basename(f))[0]

    outdir = tempfile.mkdtemp() + '.iconset'
    subprocess.call(['/usr/bin/iconutil', '--convert', 'iconset', '--output', outdir, icnspath])
    chosen_icon = os.path.join(outdir, 'icon_%s.png' % SIZE)
    shutil.copy(chosen_icon, os.path.join(MUNKI_REPO_ICONS_DIR, name_portion + '.png'))

以上是关于icns图标制作的主要内容,如果未能解决你的问题,请参考以下文章

ICO图标的制作和实际应用场景

如何使用 iconutil 手动创建 icns 文件?

如何更改苹果mac电脑各个应用的图标

【MAC】生成MAC APP图标icns

iConvert Icons能够在Mac上快速进行图标转换

借助普通图片生成 icns 图标文件