有没有人开发过检查Retina图像的应用程序的工具?

时间:2013-05-06 18:33:02

标签: ios retina-display

有没有人开发过扫描iOS应用目录的工具,以确保所有.png张图片都匹配@2x.png张图片?我可以捣乱2-3个小时并开发一个Java应用程序来完成它。然而,虽然我对shell脚本并不擅长,但我认为它可以用几行shell脚本来完成(我很高兴能让你们中的一个人有机会展示你的聪明才智: - ))。

2 个答案:

答案 0 :(得分:2)

这是一个快速的shell脚本。这甚至可以处理~ipad~iphone后缀的图片。

#!/bin/bash

for img in `find . -name '*.png' | grep -v "@2x"`; do
    noext=${img%.png}
    suffix=
    base=${noext%~ipad}
    if [ "$base" != "$noext" ]; then
        suffix="~ipad"
    else
        base=${noext%~iphone}
        if [ "$base" != "$noext" ]; then
            suffix="~iphone"
        else
            base=${noext}
        fi
    fi
    retina="${base}@2x${suffix}.png"
    if [ ! -f $retina ]; then
        echo "Missing $retina"
    fi
done

从项目的根目录运行它,它将检查找到的每个图像。

我刚发现其中一张图片有问题。我有@2但没有x

更新:我刚开始玩python。这是用python编写的相同脚本:

#!/usr/bin/python

import fnmatch
import os

for root, dirnames, filenames in os.walk('.'):
    for filename in fnmatch.filter(filenames, '*.png'):
        if filename.find('@2x') == -1:
            noext = filename[:-4]
            suffix = ''
            base = noext
            if noext.endswith('~ipad'):
                suffix = '~ipad'
                base = noext[:-5]
            elif noext.endswith('~iphone'):
                suffix = '~iphone'
                base = noext[:-6]

            retina = os.path.join(root, base + '@2x' + suffix + '.png')
            if not os.path.exists(retina) :
                print('Missing ' + retina)

答案 1 :(得分:0)

我过去曾使用过slender