0

是否有人开发了一种工具来扫描 iOS 应用程序目录以确保所有.png图像都有匹配的@2x.png图像?我可以闲逛 2-3 个小时,然后开发一个 Java 应用程序来完成它。然而,虽然我对 shell 脚本一点也不擅长,但我认为它可以用几行 shell 脚本来完成(我很高兴让你们中的一个人有机会展示你在这方面的才华:- ))。

4

2 回答 2

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)
于 2013-05-06T18:46:47.703 回答
0

我过去用过细长

于 2013-05-06T18:37:41.590 回答