加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xcode – “非视网膜”图像版本的自动调整大小

发布时间:2020-12-15 02:01:03 所属栏目:百科 来源:网络整理
导读:我正在寻找一种解决方案,可以保护我不要保持两个版本的相同图像,一个用于Retina显示器(另外一个为2x),另一个用于非Retina显示器。我的目标是仅保留“2x”图像,并且通过单击或更好地在XCode中构建一些“魔术工具”来调整所有这些图像的大
我正在寻找一种解决方案,可以保护我不要保持两个版本的相同图像,一个用于Retina显示器(另外一个为2x),另一个用于非Retina显示器。我的目标是仅保留“2x”图像,并且通过单击或更好地在XCode中构建一些“魔术工具”来调整所有这些图像的大小。喜欢“设置它并忘记它”。

你可以帮我吗?提前致谢。

解决方法

如果您只想缩小它们,您可以在构建过程中使Xcode自动生成所有非视网膜图像。此示例脚本使用“sips”,因为它已预安装在Mac上。

剧本

#!/bin/bash
# Downsamples all retina ...@2x.png images.

echo "Downsampling retina images..."

dir=$(pwd)
find "$dir" -name "*@2x.png" | while read image; do

    outfile=$(dirname "$image")/$(basename "$image" @2x.png).png

    if [ "$image" -nt "$outfile" ]; then
        basename "$outfile"

        width=$(sips -g "pixelWidth" "$image" | awk 'FNR>1 {print $2}')
        height=$(sips -g "pixelHeight" "$image" | awk 'FNR>1 {print $2}')
        sips -z $(($height / 2)) $(($width / 2)) "$image" --out "$outfile"

        test "$outfile" -nt "$image" || exit 1
    fi
done

自动执行

>创建一个新的“聚合目标”,将其命名为“下采样图像”。
>为运行脚本的目标添加“运行脚本”阶段。
>将“下采样图像”目标添加到应用程序目标中的“目标依赖关系”。

笔记

记住还要将1x图像添加到Xcode项目中。根据您的需要,您可能还需要:

>排除某些文件转换
>将生成的文件添加到.gitignore文件中
>使用ImageMagick的“convert”而不是“sips”。 (一些索引的PNG似乎失败了。)
>运行optipng

如果要检查下采样版本,ImageMagick将附带“compare”命令。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读