Files
ESP32_GDEY042T81_server/tool/convert_examples.py
jeremygan2021 22aa782648 二进制图片
2025-11-26 17:29:16 +08:00

123 lines
3.5 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env python3
"""
图片转换工具使用示例
"""
import os
import subprocess
import sys
def run_command(cmd):
"""运行命令并打印输出"""
print(f"执行命令: {' '.join(cmd)}")
result = subprocess.run(cmd, capture_output=True, text=True)
if result.stdout:
print(result.stdout)
if result.stderr:
print(f"错误: {result.stderr}")
return result.returncode == 0
def main():
print("=== 图片转换工具使用示例 ===\n")
# 检查是否存在示例图片目录
example_dir = "example_images"
output_dir = "converted_images"
if not os.path.exists(example_dir):
print(f"创建示例图片目录: {example_dir}")
os.makedirs(example_dir, exist_ok=True)
print("请将图片文件放入此目录后再次运行此脚本")
return
if not os.path.exists(output_dir):
print(f"创建输出目录: {output_dir}")
os.makedirs(output_dir, exist_ok=True)
# 示例1: 转换单个图片为黑色背景白色文本
print("\n示例1: 转换单个图片为黑色背景白色文本")
print("=" * 50)
cmd = [
"python3", "image_converter.py", "image",
os.path.join(example_dir, "example.jpg"),
os.path.join(output_dir, "example_dark.py"),
"--width", "400",
"--height", "300"
]
run_command(cmd)
# 示例2: 转换单个图片为白色背景黑色文本
print("\n示例2: 转换单个图片为白色背景黑色文本")
print("=" * 50)
cmd = [
"python3", "image_converter.py", "image",
os.path.join(example_dir, "example.jpg"),
os.path.join(output_dir, "example_light.py"),
"--width", "400",
"--height", "300",
"--invert"
]
run_command(cmd)
# 示例3: 创建文本图像
print("\n示例3: 创建文本图像")
print("=" * 50)
cmd = [
"python3", "image_converter.py", "text",
"Hello ESP32!",
os.path.join(output_dir, "hello_text.py"),
"--width", "400",
"--height", "300",
"--font-size", "32"
]
run_command(cmd)
# 示例4: 创建旋转90度的文本图像
print("\n示例4: 创建旋转90度的文本图像")
print("=" * 50)
cmd = [
"python3", "image_converter.py", "text",
"Rotated Text",
os.path.join(output_dir, "rotated_text.py"),
"--width", "400",
"--height", "300",
"--font-size", "32",
"--rotate"
]
run_command(cmd)
# 示例5: 批量转换图片
print("\n示例5: 批量转换图片")
print("=" * 50)
cmd = [
"python3", "image_converter.py", "batch",
example_dir,
output_dir,
"--width", "400",
"--height", "300"
]
run_command(cmd)
# 示例6: 转换为128x296尺寸与现有示例相同
print("\n示例6: 转换为128x296尺寸")
print("=" * 50)
cmd = [
"python3", "image_converter.py", "image",
os.path.join(example_dir, "example.jpg"),
os.path.join(output_dir, "example_128x296.py"),
"--width", "128",
"--height", "296",
"--rotate"
]
run_command(cmd)
print("\n=== 转换完成 ===")
print(f"输出文件位于: {output_dir}")
print("\n使用方法:")
print("1. 将转换后的.py文件复制到ESP32项目目录")
print("2. 在boot.py中设置RUN_MODE=3")
print("3. 修改image.py导入转换后的图片数据")
print("4. 上传代码到ESP32并运行")
if __name__ == '__main__':
main()