#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import os
import shutil
from pathlib import Path
import platform
import tempfile
import sys

# 彩虹颜色的ANSI颜色代码
rainbow = [
    "\033[38;5;196m",  # 红色
    "\033[38;5;202m",  # 橙色
    "\033[38;5;226m",  # 黄色
    "\033[38;5;40m",   # 绿色
    "\033[38;5;45m",   # 青色
    "\033[38;5;21m",   # 蓝色
    "\033[38;5;54m",   # 紫色
]
rainbow_index = 0

def rainbow_print(text):
    """使用彩虹颜色打印文本"""
    global rainbow_index
    colored_text = f"{rainbow[rainbow_index]}{text}\033[0m"
    print(colored_text)
    rainbow_index = (rainbow_index + 1) % len(rainbow)

def is_image_file(file_path):
    """检查文件是否是图片文件"""
    image_extensions = {'.jpg', '.jpeg', '.png', '.gif', '.bmp', '.webp'}
    if file_path.lower().endswith(tuple(image_extensions)):
        return True
    else:
        return False

def copy_and_rename_image(source_path, target_path_name, target_path):
    """复制用户输入的图片，重命名为目标文件名，并复制到目标路径"""
    # 创建临时目录来存储副本
    temp_dir = tempfile.gettempdir()
    temp_image_path = os.path.join(temp_dir, os.path.basename(source_path))
    
    # 复制用户输入的图片到临时目录
    shutil.copy2(source_path, temp_image_path)
    rainbow_print(f"已将 {source_path} 复制到临时目录 {temp_image_path}")
    
    # 重命名临时图片
    renamed_path = os.path.join(temp_dir, target_path_name)
    os.rename(temp_image_path, renamed_path)
    rainbow_print(f"已将临时图片重命名为 {renamed_path}")
    
    # 复制重命名后的图片到目标路径
    if not os.path.exists(os.path.dirname(target_path)):
        os.makedirs(os.path.dirname(target_path), exist_ok=True)
    shutil.copy2(renamed_path, target_path)
    rainbow_print(f"已将 {renamed_path} 复制到 {target_path}")
    
    # 清理临时文件
    if os.path.exists(renamed_path):
        os.remove(renamed_path)
        rainbow_print(f"已删除临时文件 {renamed_path}")
    
    return target_path

def replace_watermark_images():
    """主函数，用于替换水印图片"""
    # 检查当前操作系统
    current_system = platform.system()
    rainbow_print(f"当前操作系统: {current_system}")

    # 要替换的水印图片路径(固定)
    target_images = [
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/4db5139f1ef7575de7f69e82b4e12f4e',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/33d6d44faa806c43197c2a92aabc7460',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/59f95ac8c3555e4af9ef92cd881f0612',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/77fe6105888e1c96f2cae3eae8394140',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/864f05443816f3c3f9aa9b0fdceb7f38',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/919bfd8d9c899b8ccbeec86f25435864',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/6800fb237e5eb16cd726bb9201b07051'
    ]

    # 新增的水印图片路径
    new_target_images = [
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/001f0e3aef1c6181d094272a13bfb4df',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/059b9b9068b8d0d806a5e134fff970ce',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/08c12c2475fff37179438cc4f325f08f',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/1307d8cb164b1716150b1193661d419e',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/139f7ca4602884c210afd4193459d03b',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/15af1123e6120451c93ddd34eb6f9568',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/252418a57d99663ca1e3a88b74e583e7',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/2b3ee26822e44e9ee5fae90181d534d3',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/2f57856f69a590fa6a08f68cc9c29a34',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/33d6d44faa806c43197c2a92aabc7460',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/350eef5300f19b90cb99babf6d97b038',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/368d5e16e8498530a4551a883b4d532d',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/3d0669e39a72cbcaffbf11e15e62c4ce',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/401872e81eef35098a780a4a916629d3',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/43c0dd62e8ff2873ab30390dfff69bec',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/453adf21a45ebd52f922bae31adfb2ce',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/461f2f063269ccd64880179ae909bd37',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/59f95ac8c3555e4af9ef92cd881f0612',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/6800fb237e5eb16cd726bb9201b07051',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/685aacc44cfa18a28d38c4a07cbc1c9a',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/6911881be407dea100114355bae8e4e3',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/6e0156c739f31797a89122c009afb3fb',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/6f1f2da5655591f3e414f9cb2f637364',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/711e059443369ce055b46dc56f9cf40a',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/712a425e67ea455e5c0e1a010f2beed2',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/7319d40ff352f0f743fb0337253366c3',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/75a9e7dc45a1a4923e415068b2a27f97',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/77fe6105888e1c96f2cae3eae8394140',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/7ccd778c1b7e66d2cd687c82e2e66df6',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/7e2deab32ce95d434b42639c74fdba12',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/805646ac9ea15a3984512f2ca06bb854',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/864f05443816f3c3f9aa9b0fdceb7f38',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/8aefdd285ef0b319c6c654cebe042c00',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/8fabf2573aadbab0e54da46dc5970918',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/90c97b7b09f2921ba967bdac17e0633e',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/919bfd8d9c899b8ccbeec86f25435864',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/987c58e6d4ce229193e7c8664ef66ad9',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/9a1a58aaf8002720b19a4cc5cecf28e0',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/9bb41bcd562fb5e08f8efbf064957d60',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/a26516845498fc100bbc825b7b68af7c',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/a7cda6b5093f2ed4432a65fdfc1e3ae8',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/a978a939e073614558b000d814a847a2',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/ae33b94972013f4dcaf978c9f2df79c5',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/b91ada8a1edb5fc4351f6943e23f95d1',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/c7b13274457ce2631563bd72187e0115',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/d1f95cf4b3f8990d8b0444575a1fbb61',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/de97370724f88a85edd5866d2c3182c3',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/df257341f217aa7c08d73cc0f0c1ee6d',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/e28867b2c4fd1f02db9d61427d8284ab',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/e315ed4931666cc864564ef9c996035e',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/eb0529ed435d48cada1e8ccd524688a4',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/ed7decac5bd9bf7f527508b4e52d95d2',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/f888f06050aebc501f78ffa7a012e3e0',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/fc97d5aec6ecb8150a455e2bc5446966',
        '/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/ImageDownloadV3/LoadingBG/ffc29f7b097133e8f3d39ee61269cb91'
    ]

    # 合并目标路径列表
    target_images = target_images + new_target_images

    # 显示选项供用户选择
    rainbow_print("请选择要替换的水印图片:")
    for idx, img_path in enumerate(target_images, 1):
        rainbow_print(f"{idx}. {img_path}")
    rainbow_print(f"{len(target_images)+1}. 全部替换")
    
    while True:
        try:
            choice = int(input("请输入选项: "))
            if 1 <= choice <= len(target_images) + 1:
                break
            else:
                rainbow_print("无效选项，请重新输入")
        except ValueError:
            rainbow_print("输入无效，请输入数字选项")

    # 获取用户输入的水印图片路径
    source_image_path = input("请输入要替换的水印图片路径: ")
    source_image_path = source_image_path.strip()

    # 检查用户输入的路径是否有效
    if not Path(source_image_path).is_file():
        rainbow_print(f"错误: 文件 {source_image_path} 不存在")
        return

    # 检查文件是否为图片
    if not is_image_file(source_image_path):
        rainbow_print(f"错误: {source_image_path} 不是有效的图片文件")
        return

    # 确认是否进行替换
    confirm = input("是否确认替换? (y/n): ").lower()
    if confirm != 'y':
        rainbow_print("操作已取消")
        return

    # 替换选择的目标图片
    replaced_count = 0
    if choice == len(target_images) + 1:  # 替换全部
        for target_path in target_images:
            # 获取目标文件的名称
            target_filename = os.path.basename(target_path)
            
            # 复制、重命名用户输入的图片并复制到目标路径
            copy_and_rename_image(source_image_path, target_filename, target_path)
            replaced_count += 1
    else:  # 替换单个水印
        target_path = target_images[choice - 1]
        target_filename = os.path.basename(target_path)
        
        copy_and_rename_image(source_image_path, target_filename, target_path)
        replaced_count += 1

    rainbow_print(f"操作完成! 已成功替换 {replaced_count} 个水印图片")

if __name__ == "__main__":
    try:
        replace_watermark_images()
    except Exception as e:
        rainbow_print(f"发生错误: {e}")
        sys.exit(0)  # 程序执行完后退出
