gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 13:21:02 25 4
gpt4 key购买 nike

我正在寻找一种解决方案,可以避免维护同一图像的两个版本,一个用于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,sip似乎失败。)
运行 optipng


如果要检查降采样的版本,ImageMagick带有“ compare”命令。

关于xcode - 自动调整“非视网膜”图像版本的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8087997/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com