123 lines
3.5 KiB
Python
123 lines
3.5 KiB
Python
#!/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() |