4a8a84a4eb
- 实现定时按钮倒计时显示功能 - 适配pixel主题化图标展示 - 优化TimerDialog按钮宽度设计
90 lines
2.7 KiB
Bash
90 lines
2.7 KiB
Bash
#!/bin/bash
|
|
|
|
# WebP颜色修改脚本
|
|
# 需要先安装 ImageMagick: brew install imagemagick
|
|
|
|
echo "=== WebP 颜色修改工具 ==="
|
|
echo ""
|
|
|
|
# 检查ImageMagick是否安装
|
|
if ! command -v convert &> /dev/null; then
|
|
echo "❌ 未检测到 ImageMagick"
|
|
echo "请先安装: brew install imagemagick"
|
|
exit 1
|
|
fi
|
|
|
|
# 示例:修改颜色(色相旋转)
|
|
# 参数说明:
|
|
# -modulate brightness,saturation,hue
|
|
# 例如:-modulate 100,100,150 (色相旋转150度)
|
|
|
|
SOURCE_DIR="/Users/chen/Desktop/XMBOX/app/src/main/res/mipmap-hdpi"
|
|
OUTPUT_DIR="/Users/chen/Desktop/XMBOX/app/src/main/res/mipmap-hdpi/modified"
|
|
|
|
# 创建输出目录
|
|
mkdir -p "$OUTPUT_DIR"
|
|
|
|
echo "处理目录: $SOURCE_DIR"
|
|
echo "输出目录: $OUTPUT_DIR"
|
|
echo ""
|
|
|
|
# 示例1: 色相旋转(改变整体颜色)
|
|
echo "方式1: 色相旋转"
|
|
echo " convert input.webp -modulate 100,100,180 output.webp # 色相旋转180度"
|
|
echo ""
|
|
|
|
# 示例2: 颜色替换
|
|
echo "方式2: 颜色替换"
|
|
echo " convert input.webp -fuzz 20% -fill '#新颜色' -opaque '#旧颜色' output.webp"
|
|
echo ""
|
|
|
|
# 示例3: 调整色调/饱和度/亮度
|
|
echo "方式3: HSL调整"
|
|
echo " convert input.webp -modulate brightness,saturation,hue output.webp"
|
|
echo " brightness: 亮度 (100=不变)"
|
|
echo " saturation: 饱和度 (100=不变, 0=灰度)"
|
|
echo " hue: 色相 (100=不变)"
|
|
echo ""
|
|
|
|
# 交互式处理
|
|
read -p "请选择处理方式 (1/2/3): " choice
|
|
|
|
case $choice in
|
|
1)
|
|
read -p "输入色相旋转角度 (0-200, 100=不变): " hue
|
|
for file in "$SOURCE_DIR"/*.webp; do
|
|
filename=$(basename "$file")
|
|
echo "处理: $filename (色相旋转 ${hue}度)"
|
|
convert "$file" -modulate 100,100,$hue "$OUTPUT_DIR/$filename"
|
|
done
|
|
;;
|
|
2)
|
|
read -p "输入要替换的颜色 (HEX, 例如 #FF0000): " old_color
|
|
read -p "输入新颜色 (HEX, 例如 #00FF00): " new_color
|
|
for file in "$SOURCE_DIR"/*.webp; do
|
|
filename=$(basename "$file")
|
|
echo "处理: $filename ($old_color -> $new_color)"
|
|
convert "$file" -fuzz 20% -fill "$new_color" -opaque "$old_color" "$OUTPUT_DIR/$filename"
|
|
done
|
|
;;
|
|
3)
|
|
read -p "亮度 (100=不变): " brightness
|
|
read -p "饱和度 (100=不变, 0=灰度): " saturation
|
|
read -p "色相 (100=不变): " hue
|
|
for file in "$SOURCE_DIR"/*.webp; do
|
|
filename=$(basename "$file")
|
|
echo "处理: $filename (亮度:$brightness 饱和度:$saturation 色相:$hue)"
|
|
convert "$file" -modulate $brightness,$saturation,$hue "$OUTPUT_DIR/$filename"
|
|
done
|
|
;;
|
|
*)
|
|
echo "无效选择"
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
echo ""
|
|
echo "✅ 处理完成!"
|
|
echo "处理后的文件保存在: $OUTPUT_DIR"
|
|
|