Android 启动器图标调整大小 - 复合脚本

标签 android bash imagemagick image-resizing

我想创建一个 bash 脚本,将 512x512 图标的大小调整为不同的 android 启动器图标大小。

调整大小后,图像应覆盖特定的 logo.png 以保持 Logo 像素完美和清晰。

此外,文件名应与图标大小相匹配。

我已经创建了一个脚本,但它不是很灵活并且重复性很强。

如何让它更紧凑(减少复制/粘贴)?

#!/bin/sh

offset_512=27
offset_144=10
offset_96=5
offset_72=5
offset_48=3
offset_36=2


for file in _screens/*.source.png;

    do convert $file -monitor \
        -resize 512x512 \
        _assets/logo-512x512.png \
        -gravity south \
        -geometry +0+${offset_512} \
        -composite ${file%\.source.png*}-512x512.png

        convert $file -monitor \
            -resize 144x144 \
            _assets/logo-144x144.png \
            -gravity south \
            -geometry +0+${offset_144} \
            -composite ${file%\.source.png*}-144x144.png

        convert $file -monitor \
            -resize 96x96 \
            _assets/logo-96x96.png \
            -gravity south \
            -geometry +0+${offset_96} \
            -composite ${file%\.source.png*}-96x96.png

        convert $file -monitor \
            -resize 72x72 \
            _assets/logo-72x72.png \
            -gravity south \
            -geometry +0+${offset_72} \
            -composite ${file%\.source.png*}-72x72.png

        convert $file -monitor \
            -resize 48x48 \
            _assets/logo-48x48.png \
            -gravity south \
            -geometry +0+${offset_48} \
            -composite ${file%\.source.png*}-48x48.png

        convert $file -monitor \
            -resize 36x36 \
            _assets/logo-36x36.png \
            -gravity south \
            -geometry +0+${offset_36} \
            -composite ${file%\.source.png*}-36x36.png

done

最佳答案

当然还有其他方法可以解决这个问题,但想到的是关联数组。我没有与您相同的环境来测试它,但这应该足够接近以完成工作。让我知道结果如何。

declare -A sizes
sizes=([512x512]=27 [144x144]=10 [96x96]=5 [72x72]=5 [48x48]=3 [36x36]=2)

for file in _screens/*.source.png; do
    for size in "${!sizes[@]}"; do
        convert $file -monitor -resize $size _assets/logo-${size}.png -gravity south -geometry +0+${sizes[$size]} -composite ${file%\.source.png*}-${size}.png
    done
done

关于Android 启动器图标调整大小 - 复合脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18895701/

相关文章:

java - 在 Android 中给定电话号码获取联系人姓名

Bash 脚本,检查错误,日志记录

android - Volley(Google IO 2013)可以有 level1 LruBitmapImageCache 和 level2 DiskCache 吗?

javascript - 在 React Native 中,如何在 iOS 中将 KeyboardAvoidingView 与 Modal 一起使用?

bash - 在一组文件中查找文本的更简洁的方法是什么?

bash - 如何在 Makefile 中使用 eval

ruby - 如何使用 Imagemagick 给图像加水印?

算法设计: Image quantization for most prominent colors

pdf - 使用 imagemagick 将图像转换为 din a4 pdf

Android日期解析(提取年月)