Rumah >hujung hadapan web >html tutorial >如何将 Font Awesome 转成 PNG 图标 详细教程 含源代码_html/css_WEB-ITnose

如何将 Font Awesome 转成 PNG 图标 详细教程 含源代码_html/css_WEB-ITnose

WBOY
WBOYasal
2016-06-24 11:41:141575semak imbas

最近因为项目上需要用到这个字体图标,但是它里面的许多也不能完全满足项目需要,因此就考虑将这个图标导出,然后自己再添加一些其他图标使用

搜索了些解决方案,如:http://www.oschina.net/translate/how-to-convert-font-awesome-to-png-icons,但是上面的步骤过于简单,一个新手完全不会使用,比如Python自己就一点都没接触过,因此自己走了许多弯路。

 

本文一方面记录以便以后自己再次使用,最重要的是将我自己的每个步骤详细的展现给有需要的大家,希望对大家有帮助。

 

好 还请留个好评

 

本文涉及所有资源可以到我的百度云下载:

 font-awesome-to-png

 

第一步 下载图标字体源文件:

包含以下文件:

第二步 安装python-2.7.9(我电脑是64位的,截图也是64位,实际上只能安装32位,64位图标处理库(第二部会安装以处理图片)找不到安装路径,安装过程是一样的)

 第三步 安装图形处理库

安装完成后:菜单》全部程序》 Python 2.7发现已经安装成功

第四部 你下载文件里面有个 目录font-awesome-to-png 里面有将会使用的 脚本文件和字体文件(也是你第一步下载的文件)

 

来点其他参数

颜色变了,证明其他参数也是可靠的,大功告成。

 

源代码1 font-awesome-to-png.py:

#!/usr/bin/env python## font-awesome-to-png.py## Exports Font Awesome icons as PNG images.## Copyright (c) 2012-2014 Michal Wojciechowski (http://odyniec.net/)## Font Awesome - http://fortawesome.github.com/Font-Awesome#import sys, argparse, refrom os import path, access, R_OKfrom PIL import Image, ImageFont, ImageDraw# Support Unicode literals with both Python 2 and 3if sys.version < '3':    import codecs    def u(x):        return codecs.unicode_escape_decode(x)[0]    def uchr(x):        return unichr(x)else:    def u(x):        return x    def uchr(x):        return chr(x)# Mapping of icon names to character codesicons = {    "adjust": u("\uf042"),    "adn": u("\uf170"),    "align-center": u("\uf037"),    "align-justify": u("\uf039"),    "align-left": u("\uf036"),    "align-right": u("\uf038"),    "ambulance": u("\uf0f9"),    "anchor": u("\uf13d"),    "android": u("\uf17b"),    "angle-double-down": u("\uf103"),    "angle-double-left": u("\uf100"),    "angle-double-right": u("\uf101"),    "angle-double-up": u("\uf102"),    "angle-down": u("\uf107"),    "angle-left": u("\uf104"),    "angle-right": u("\uf105"),    "angle-up": u("\uf106"),    "apple": u("\uf179"),    "archive": u("\uf187"),    "arrow-circle-down": u("\uf0ab"),    "arrow-circle-left": u("\uf0a8"),    "arrow-circle-o-down": u("\uf01a"),    "arrow-circle-o-left": u("\uf190"),    "arrow-circle-o-right": u("\uf18e"),    "arrow-circle-o-up": u("\uf01b"),    "arrow-circle-right": u("\uf0a9"),    "arrow-circle-up": u("\uf0aa"),    "arrow-down": u("\uf063"),    "arrow-left": u("\uf060"),    "arrow-right": u("\uf061"),    "arrow-up": u("\uf062"),    "arrows": u("\uf047"),    "arrows-alt": u("\uf0b2"),    "arrows-h": u("\uf07e"),    "arrows-v": u("\uf07d"),    "asterisk": u("\uf069"),    "automobile": u("\uf1b9"),    "backward": u("\uf04a"),    "ban": u("\uf05e"),    "bank": u("\uf19c"),    "bar-chart-o": u("\uf080"),    "barcode": u("\uf02a"),    "bars": u("\uf0c9"),    "beer": u("\uf0fc"),    "behance": u("\uf1b4"),    "behance-square": u("\uf1b5"),    "bell": u("\uf0f3"),    "bell-o": u("\uf0a2"),    "bitbucket": u("\uf171"),    "bitbucket-square": u("\uf172"),    "bitcoin": u("\uf15a"),    "bold": u("\uf032"),    "bolt": u("\uf0e7"),    "bomb": u("\uf1e2"),    "book": u("\uf02d"),    "bookmark": u("\uf02e"),    "bookmark-o": u("\uf097"),    "briefcase": u("\uf0b1"),    "btc": u("\uf15a"),    "bug": u("\uf188"),    "building": u("\uf1ad"),    "building-o": u("\uf0f7"),    "bullhorn": u("\uf0a1"),    "bullseye": u("\uf140"),    "cab": u("\uf1ba"),    "calendar": u("\uf073"),    "calendar-o": u("\uf133"),    "camera": u("\uf030"),    "camera-retro": u("\uf083"),    "car": u("\uf1b9"),    "caret-down": u("\uf0d7"),    "caret-left": u("\uf0d9"),    "caret-right": u("\uf0da"),    "caret-square-o-down": u("\uf150"),    "caret-square-o-left": u("\uf191"),    "caret-square-o-right": u("\uf152"),    "caret-square-o-up": u("\uf151"),    "caret-up": u("\uf0d8"),    "certificate": u("\uf0a3"),    "chain": u("\uf0c1"),    "chain-broken": u("\uf127"),    "check": u("\uf00c"),    "check-circle": u("\uf058"),    "check-circle-o": u("\uf05d"),    "check-square": u("\uf14a"),    "check-square-o": u("\uf046"),    "chevron-circle-down": u("\uf13a"),    "chevron-circle-left": u("\uf137"),    "chevron-circle-right": u("\uf138"),    "chevron-circle-up": u("\uf139"),    "chevron-down": u("\uf078"),    "chevron-left": u("\uf053"),    "chevron-right": u("\uf054"),    "chevron-up": u("\uf077"),    "child": u("\uf1ae"),    "circle": u("\uf111"),    "circle-o": u("\uf10c"),    "circle-o-notch": u("\uf1ce"),    "circle-thin": u("\uf1db"),    "clipboard": u("\uf0ea"),    "clock-o": u("\uf017"),    "cloud": u("\uf0c2"),    "cloud-download": u("\uf0ed"),    "cloud-upload": u("\uf0ee"),    "cny": u("\uf157"),    "code": u("\uf121"),    "code-fork": u("\uf126"),    "codepen": u("\uf1cb"),    "coffee": u("\uf0f4"),    "cog": u("\uf013"),    "cogs": u("\uf085"),    "columns": u("\uf0db"),    "comment": u("\uf075"),    "comment-o": u("\uf0e5"),    "comments": u("\uf086"),    "comments-o": u("\uf0e6"),    "compass": u("\uf14e"),    "compress": u("\uf066"),    "copy": u("\uf0c5"),    "credit-card": u("\uf09d"),    "crop": u("\uf125"),    "crosshairs": u("\uf05b"),    "css3": u("\uf13c"),    "cube": u("\uf1b2"),    "cubes": u("\uf1b3"),    "cut": u("\uf0c4"),    "cutlery": u("\uf0f5"),    "dashboard": u("\uf0e4"),    "database": u("\uf1c0"),    "dedent": u("\uf03b"),    "delicious": u("\uf1a5"),    "desktop": u("\uf108"),    "deviantart": u("\uf1bd"),    "digg": u("\uf1a6"),    "dollar": u("\uf155"),    "dot-circle-o": u("\uf192"),    "download": u("\uf019"),    "dribbble": u("\uf17d"),    "dropbox": u("\uf16b"),    "drupal": u("\uf1a9"),    "edit": u("\uf044"),    "eject": u("\uf052"),    "ellipsis-h": u("\uf141"),    "ellipsis-v": u("\uf142"),    "empire": u("\uf1d1"),    "envelope": u("\uf0e0"),    "envelope-o": u("\uf003"),    "envelope-square": u("\uf199"),    "eraser": u("\uf12d"),    "eur": u("\uf153"),    "euro": u("\uf153"),    "exchange": u("\uf0ec"),    "exclamation": u("\uf12a"),    "exclamation-circle": u("\uf06a"),    "exclamation-triangle": u("\uf071"),    "expand": u("\uf065"),    "external-link": u("\uf08e"),    "external-link-square": u("\uf14c"),    "eye": u("\uf06e"),    "eye-slash": u("\uf070"),    "facebook": u("\uf09a"),    "facebook-square": u("\uf082"),    "fast-backward": u("\uf049"),    "fast-forward": u("\uf050"),    "fax": u("\uf1ac"),    "female": u("\uf182"),    "fighter-jet": u("\uf0fb"),    "file": u("\uf15b"),    "file-archive-o": u("\uf1c6"),    "file-audio-o": u("\uf1c7"),    "file-code-o": u("\uf1c9"),    "file-excel-o": u("\uf1c3"),    "file-image-o": u("\uf1c5"),    "file-movie-o": u("\uf1c8"),    "file-o": u("\uf016"),    "file-pdf-o": u("\uf1c1"),    "file-photo-o": u("\uf1c5"),    "file-picture-o": u("\uf1c5"),    "file-powerpoint-o": u("\uf1c4"),    "file-sound-o": u("\uf1c7"),    "file-text": u("\uf15c"),    "file-text-o": u("\uf0f6"),    "file-video-o": u("\uf1c8"),    "file-word-o": u("\uf1c2"),    "file-zip-o": u("\uf1c6"),    "files-o": u("\uf0c5"),    "film": u("\uf008"),    "filter": u("\uf0b0"),    "fire": u("\uf06d"),    "fire-extinguisher": u("\uf134"),    "flag": u("\uf024"),    "flag-checkered": u("\uf11e"),    "flag-o": u("\uf11d"),    "flash": u("\uf0e7"),    "flask": u("\uf0c3"),    "flickr": u("\uf16e"),    "floppy-o": u("\uf0c7"),    "folder": u("\uf07b"),    "folder-o": u("\uf114"),    "folder-open": u("\uf07c"),    "folder-open-o": u("\uf115"),    "font": u("\uf031"),    "forward": u("\uf04e"),    "foursquare": u("\uf180"),    "frown-o": u("\uf119"),    "gamepad": u("\uf11b"),    "gavel": u("\uf0e3"),    "gbp": u("\uf154"),    "ge": u("\uf1d1"),    "gear": u("\uf013"),    "gears": u("\uf085"),    "gift": u("\uf06b"),    "git": u("\uf1d3"),    "git-square": u("\uf1d2"),    "github": u("\uf09b"),    "github-alt": u("\uf113"),    "github-square": u("\uf092"),    "gittip": u("\uf184"),    "glass": u("\uf000"),    "globe": u("\uf0ac"),    "google": u("\uf1a0"),    "google-plus": u("\uf0d5"),    "google-plus-square": u("\uf0d4"),    "graduation-cap": u("\uf19d"),    "group": u("\uf0c0"),    "h-square": u("\uf0fd"),    "hacker-news": u("\uf1d4"),    "hand-o-down": u("\uf0a7"),    "hand-o-left": u("\uf0a5"),    "hand-o-right": u("\uf0a4"),    "hand-o-up": u("\uf0a6"),    "hdd-o": u("\uf0a0"),    "header": u("\uf1dc"),    "headphones": u("\uf025"),    "heart": u("\uf004"),    "heart-o": u("\uf08a"),    "history": u("\uf1da"),    "home": u("\uf015"),    "hospital-o": u("\uf0f8"),    "html5": u("\uf13b"),    "image": u("\uf03e"),    "inbox": u("\uf01c"),    "indent": u("\uf03c"),    "info": u("\uf129"),    "info-circle": u("\uf05a"),    "inr": u("\uf156"),    "instagram": u("\uf16d"),    "institution": u("\uf19c"),    "italic": u("\uf033"),    "joomla": u("\uf1aa"),    "jpy": u("\uf157"),    "jsfiddle": u("\uf1cc"),    "key": u("\uf084"),    "keyboard-o": u("\uf11c"),    "krw": u("\uf159"),    "language": u("\uf1ab"),    "laptop": u("\uf109"),    "leaf": u("\uf06c"),    "legal": u("\uf0e3"),    "lemon-o": u("\uf094"),    "level-down": u("\uf149"),    "level-up": u("\uf148"),    "life-bouy": u("\uf1cd"),    "life-ring": u("\uf1cd"),    "life-saver": u("\uf1cd"),    "lightbulb-o": u("\uf0eb"),    "link": u("\uf0c1"),    "linkedin": u("\uf0e1"),    "linkedin-square": u("\uf08c"),    "linux": u("\uf17c"),    "list": u("\uf03a"),    "list-alt": u("\uf022"),    "list-ol": u("\uf0cb"),    "list-ul": u("\uf0ca"),    "location-arrow": u("\uf124"),    "lock": u("\uf023"),    "long-arrow-down": u("\uf175"),    "long-arrow-left": u("\uf177"),    "long-arrow-right": u("\uf178"),    "long-arrow-up": u("\uf176"),    "magic": u("\uf0d0"),    "magnet": u("\uf076"),    "mail-forward": u("\uf064"),    "mail-reply": u("\uf112"),    "mail-reply-all": u("\uf122"),    "male": u("\uf183"),    "map-marker": u("\uf041"),    "maxcdn": u("\uf136"),    "medkit": u("\uf0fa"),    "meh-o": u("\uf11a"),    "microphone": u("\uf130"),    "microphone-slash": u("\uf131"),    "minus": u("\uf068"),    "minus-circle": u("\uf056"),    "minus-square": u("\uf146"),    "minus-square-o": u("\uf147"),    "mobile": u("\uf10b"),    "mobile-phone": u("\uf10b"),    "money": u("\uf0d6"),    "moon-o": u("\uf186"),    "mortar-board": u("\uf19d"),    "music": u("\uf001"),    "navicon": u("\uf0c9"),    "openid": u("\uf19b"),    "outdent": u("\uf03b"),    "pagelines": u("\uf18c"),    "paper-plane": u("\uf1d8"),    "paper-plane-o": u("\uf1d9"),    "paperclip": u("\uf0c6"),    "paragraph": u("\uf1dd"),    "paste": u("\uf0ea"),    "pause": u("\uf04c"),    "paw": u("\uf1b0"),    "pencil": u("\uf040"),    "pencil-square": u("\uf14b"),    "pencil-square-o": u("\uf044"),    "phone": u("\uf095"),    "phone-square": u("\uf098"),    "photo": u("\uf03e"),    "picture-o": u("\uf03e"),    "pied-piper": u("\uf1a7"),    "pied-piper-alt": u("\uf1a8"),    "pied-piper-square": u("\uf1a7"),    "pinterest": u("\uf0d2"),    "pinterest-square": u("\uf0d3"),    "plane": u("\uf072"),    "play": u("\uf04b"),    "play-circle": u("\uf144"),    "play-circle-o": u("\uf01d"),    "plus": u("\uf067"),    "plus-circle": u("\uf055"),    "plus-square": u("\uf0fe"),    "plus-square-o": u("\uf196"),    "power-off": u("\uf011"),    "print": u("\uf02f"),    "puzzle-piece": u("\uf12e"),    "qq": u("\uf1d6"),    "qrcode": u("\uf029"),    "question": u("\uf128"),    "question-circle": u("\uf059"),    "quote-left": u("\uf10d"),    "quote-right": u("\uf10e"),    "ra": u("\uf1d0"),    "random": u("\uf074"),    "rebel": u("\uf1d0"),    "recycle": u("\uf1b8"),    "reddit": u("\uf1a1"),    "reddit-square": u("\uf1a2"),    "refresh": u("\uf021"),    "renren": u("\uf18b"),    "reorder": u("\uf0c9"),    "repeat": u("\uf01e"),    "reply": u("\uf112"),    "reply-all": u("\uf122"),    "retweet": u("\uf079"),    "rmb": u("\uf157"),    "road": u("\uf018"),    "rocket": u("\uf135"),    "rotate-left": u("\uf0e2"),    "rotate-right": u("\uf01e"),    "rouble": u("\uf158"),    "rss": u("\uf09e"),    "rss-square": u("\uf143"),    "rub": u("\uf158"),    "ruble": u("\uf158"),    "rupee": u("\uf156"),    "save": u("\uf0c7"),    "scissors": u("\uf0c4"),    "search": u("\uf002"),    "search-minus": u("\uf010"),    "search-plus": u("\uf00e"),    "send": u("\uf1d8"),    "send-o": u("\uf1d9"),    "share": u("\uf064"),    "share-alt": u("\uf1e0"),    "share-alt-square": u("\uf1e1"),    "share-square": u("\uf14d"),    "share-square-o": u("\uf045"),    "shield": u("\uf132"),    "shopping-cart": u("\uf07a"),    "sign-in": u("\uf090"),    "sign-out": u("\uf08b"),    "signal": u("\uf012"),    "sitemap": u("\uf0e8"),    "skype": u("\uf17e"),    "slack": u("\uf198"),    "sliders": u("\uf1de"),    "smile-o": u("\uf118"),    "sort": u("\uf0dc"),    "sort-alpha-asc": u("\uf15d"),    "sort-alpha-desc": u("\uf15e"),    "sort-amount-asc": u("\uf160"),    "sort-amount-desc": u("\uf161"),    "sort-asc": u("\uf0de"),    "sort-desc": u("\uf0dd"),    "sort-down": u("\uf0dd"),    "sort-numeric-asc": u("\uf162"),    "sort-numeric-desc": u("\uf163"),    "sort-up": u("\uf0de"),    "soundcloud": u("\uf1be"),    "space-shuttle": u("\uf197"),    "spinner": u("\uf110"),    "spoon": u("\uf1b1"),    "spotify": u("\uf1bc"),    "square": u("\uf0c8"),    "square-o": u("\uf096"),    "stack-exchange": u("\uf18d"),    "stack-overflow": u("\uf16c"),    "star": u("\uf005"),    "star-half": u("\uf089"),    "star-half-empty": u("\uf123"),    "star-half-full": u("\uf123"),    "star-half-o": u("\uf123"),    "star-o": u("\uf006"),    "steam": u("\uf1b6"),    "steam-square": u("\uf1b7"),    "step-backward": u("\uf048"),    "step-forward": u("\uf051"),    "stethoscope": u("\uf0f1"),    "stop": u("\uf04d"),    "strikethrough": u("\uf0cc"),    "stumbleupon": u("\uf1a4"),    "stumbleupon-circle": u("\uf1a3"),    "subscript": u("\uf12c"),    "suitcase": u("\uf0f2"),    "sun-o": u("\uf185"),    "superscript": u("\uf12b"),    "support": u("\uf1cd"),    "table": u("\uf0ce"),    "tablet": u("\uf10a"),    "tachometer": u("\uf0e4"),    "tag": u("\uf02b"),    "tags": u("\uf02c"),    "tasks": u("\uf0ae"),    "taxi": u("\uf1ba"),    "tencent-weibo": u("\uf1d5"),    "terminal": u("\uf120"),    "text-height": u("\uf034"),    "text-width": u("\uf035"),    "th": u("\uf00a"),    "th-large": u("\uf009"),    "th-list": u("\uf00b"),    "thumb-tack": u("\uf08d"),    "thumbs-down": u("\uf165"),    "thumbs-o-down": u("\uf088"),    "thumbs-o-up": u("\uf087"),    "thumbs-up": u("\uf164"),    "ticket": u("\uf145"),    "times": u("\uf00d"),    "times-circle": u("\uf057"),    "times-circle-o": u("\uf05c"),    "tint": u("\uf043"),    "toggle-down": u("\uf150"),    "toggle-left": u("\uf191"),    "toggle-right": u("\uf152"),    "toggle-up": u("\uf151"),    "trash-o": u("\uf014"),    "tree": u("\uf1bb"),    "trello": u("\uf181"),    "trophy": u("\uf091"),    "truck": u("\uf0d1"),    "try": u("\uf195"),    "tumblr": u("\uf173"),    "tumblr-square": u("\uf174"),    "turkish-lira": u("\uf195"),    "twitter": u("\uf099"),    "twitter-square": u("\uf081"),    "umbrella": u("\uf0e9"),    "underline": u("\uf0cd"),    "undo": u("\uf0e2"),    "university": u("\uf19c"),    "unlink": u("\uf127"),    "unlock": u("\uf09c"),    "unlock-alt": u("\uf13e"),    "unsorted": u("\uf0dc"),    "upload": u("\uf093"),    "usd": u("\uf155"),    "user": u("\uf007"),    "user-md": u("\uf0f0"),    "users": u("\uf0c0"),    "video-camera": u("\uf03d"),    "vimeo-square": u("\uf194"),    "vine": u("\uf1ca"),    "vk": u("\uf189"),    "volume-down": u("\uf027"),    "volume-off": u("\uf026"),    "volume-up": u("\uf028"),    "warning": u("\uf071"),    "wechat": u("\uf1d7"),    "weibo": u("\uf18a"),    "weixin": u("\uf1d7"),    "wheelchair": u("\uf193"),    "windows": u("\uf17a"),    "won": u("\uf159"),    "wordpress": u("\uf19a"),    "wrench": u("\uf0ad"),    "xing": u("\uf168"),    "xing-square": u("\uf169"),    "yahoo": u("\uf19e"),    "yen": u("\uf157"),    "youtube": u("\uf167"),    "youtube-play": u("\uf16a"),    "youtube-square": u("\uf166"),}class ListAction(argparse.Action):    def __call__(self, parser, namespace, values, option_string=None):        for icon in sorted(icons.keys()):            print(icon)        exit(0)class ListUpdateAction(argparse.Action):    def __call__(self, parser, namespace, values, option_string=None):        print("icons = {")        for icon in sorted(icons.keys()):            print(u'    "%s": u("\\u%x"),' % (icon, ord(icons[icon])))        print("}")        exit(0)def export_icon(icon, size, filename, font, color):    image = Image.new("RGBA", (size, size), color=(0,0,0,0))    draw = ImageDraw.Draw(image)    # Initialize font    font = ImageFont.truetype(font, size)    # Determine the dimensions of the icon    width,height = draw.textsize(icons[icon], font=font)    draw.text(((size - width) / 2, (size - height) / 2), icons[icon],            font=font, fill=color)    # Get bounding box    bbox = image.getbbox()    # Create an alpha mask    imagemask = Image.new("L", (size, size), 0)    drawmask = ImageDraw.Draw(imagemask)    # Draw the icon on the mask    drawmask.text(((size - width) / 2, (size - height) / 2), icons[icon],        font=font, fill=255)    # Create a solid color image and apply the mask    iconimage = Image.new("RGBA", (size,size), color)    iconimage.putalpha(imagemask)    if bbox:        iconimage = iconimage.crop(bbox)    borderw = int((size - (bbox[2] - bbox[0])) / 2)    borderh = int((size - (bbox[3] - bbox[1])) / 2)    # Create output image    outimage = Image.new("RGBA", (size, size), (0,0,0,0))    outimage.paste(iconimage, (borderw,borderh))    # Save file    outimage.save(filename)class LoadCSSAction(argparse.Action):    def __call__(self, parser, namespace, values, option_string=None):        global icons        icons = LoadCSSAction._load_css(values)    @staticmethod    def _load_css(filename):        import tinycss        new_icons = {}        parser = tinycss.make_parser("page3")        try:            stylesheet = parser.parse_stylesheet_file(filename)        except IOError:            print >> sys.stderr, ("Error: CSS file (%s) can't be opened"                % (filename))            exit(1)        is_icon = re.compile(u("\.fa-(.*):before,?"))        for rule in stylesheet.rules:            selector = rule.selector.as_css()            for match in is_icon.finditer(selector):                name = match.groups()[0]                for declaration in rule.declarations:                    if declaration.name == u"content":                        val = declaration.value.as_css()                        if val.startswith('"') and val.endswith('"'):                            val = val[1:-1]                        new_icons[name] = uchr(int(val[1:], 16))        return new_iconsif __name__ == '__main__':    parser = argparse.ArgumentParser(            description="Exports Font Awesome icons as PNG images.")    parser.add_argument("icon", type=str, nargs="+",            help="The name(s) of the icon(s) to export (or \"ALL\" for all icons)")    parser.add_argument("--color", type=str, default="black",            help="Color (HTML color code or name, default: black)")    parser.add_argument("--filename", type=str,            help="The name of the output file (it must end with \".png\"). If " +            "all files are exported, it is used as a prefix.")    parser.add_argument("--font", type=str, default="fontawesome-webfont.ttf",            help="Font file to use (default: fontawesome-webfont.ttf)")    parser.add_argument("--css", type=str, default="", action=LoadCSSAction,            help="Path to the CSS file defining icon names (instead of the " +            "predefined list)")    parser.add_argument("--list", nargs=0, action=ListAction,            help="List available icon names and exit")    parser.add_argument("--list-update", nargs=0, action=ListUpdateAction,            help=argparse.SUPPRESS)    parser.add_argument("--size", type=int, default=16,            help="Icon size in pixels (default: 16)")    args = parser.parse_args()    icon = args.icon    size = args.size    font = args.font    color = args.color    if args.font:        if not path.isfile(args.font) or not access(args.font, R_OK):            print >> sys.stderr, ("Error: Font file (%s) can't be opened"                    % (args.font))            exit(1)    if args.icon == [ "ALL" ]:        # Export all icons        selected_icons = sorted(icons.keys())    else:        selected_icons = []        # Icon name was given        for icon in args.icon:            # Strip the "icon-" prefix, if present            if icon.startswith("icon-"):                icon = icon[5:]            if icon in icons:                selected_icons.append(icon)            else:                print >> sys.stderr, "Error: Unknown icon name (%s)" % (icon)                sys.exit(1)    for icon in selected_icons:        if len(selected_icons) > 1:            # Exporting multiple icons -- treat the filename option as name prefix            filename = (args.filename or "") + icon + ".png"        else:            # Exporting one icon            if args.filename:                filename = args.filename            else:                filename = icon + ".png"        print("Exporting icon \"%s\" as %s (%ix%i pixels)" %                (icon, filename, size, size))        export_icon(icon, size, filename, font, color)

 帮助文档 README.md:

Font Awesome to PNG===================This program allows you to extract the awesome[Font Awesome] (http://fortawesome.github.com/Font-Awesome/) icons as PNG imagesof specified size.### Usage    font-awesome-to-png.py [-h] [--color COLOR] [--filename FILENAME]                           [--font FONT] [--css CSS] [--list] [--size SIZE]                           icon [icon ...]    positional arguments:      icon                 The name(s) of the icon(s) to export (or "ALL" for                           all icons)    optional arguments:      --color COLOR        Color (HTML color code or name, default: black)      --filename FILENAME  The name of the output file (it must end with                           ".png"). If all files are exported, it is used as a                           prefix.      --font FONT          Font file to use (default: fontawesome-webfont.ttf)      --css CSS            Path to the CSS file defining icon names (instead of                           the predefined list)      --list               List available icon names and exit      --size SIZE          Icon size in pixels (default: 16)    hidden optional arguments:     --list-update         List available icon names and codes in format suitable                           for updating the program source.To use the program, you need the Font Awesome TTF file, which is available in[Font Awesome Github repository] (https://github.com/FortAwesome/Font-Awesome).The internal icon list is matched to Font Awesome 4.1.0.  To use a later/differentversion, use font-awesome.css from the Font Awesome GitHub repository.### ExamplesExport the "play" and "stop" icons as 24x24 pixels images:    font-awesome-to-png.py --size 24 play stopExport the asterisk icon as 32x32 pixels image, in blue:    font-awesome-to-png.py --size 32 --color blue asteriskExport all icons as 16x16 pixels images:    font-awesome-to-png.py ALL

  

 

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn