Skip to content

Daily-AC/GIF2C

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

English

GIF2C - OLED GIF转换器

一个基于Python和Tkinter的图形界面工具,用于将图片和GIF动画转换为适用于OLED显示屏的C语言数组代码。

功能特点

🖼️ 多格式支持

  • 支持单张图片(PNG、JPG、JPEG、BMP)
  • 支持GIF动画文件(自动提取所有帧)
  • 支持批量文件夹导入

⚙️ 灵活的分辨率设置

  • 自定义宽度和高度设置
  • 常用分辨率预设(128x64、128x32、96x64、64x48)
  • 实时分辨率预览和应用

👀 双重预览系统

  • 静态预览:显示当前选中的单帧图片
  • 动态预览:实时播放GIF动画效果
  • 支持上一张/下一张导航
  • 动画播放控制(播放/停止)

🔧 转换选项

  • 自定义数组名称
  • 反色显示选项
  • 可调节帧延迟时间
  • 批量转换处理

💻 代码生成

  • 生成标准C语言数组代码
  • 自动生成使用示例函数
  • 支持代码保存到文件
  • 一键复制到剪贴板

安装步骤

方法一:使用预编译版本(推荐)

  1. 从Release页面下载对应操作系统的可执行文件
  2. 直接运行程序,无需安装Python环境

方法二:从源码运行

  1. 克隆或下载项目源码
  2. 安装依赖包(Python版本建议使用3.8+):
pip install pillow numpy
  1. 运行程序:
python main.py

使用说明

基本操作流程

  1. 导入文件

    • 点击"选择图片文件"导入单张或多张图片
    • 点击"选择文件夹"导入文件夹内所有图片
    • 点击"选择GIF文件"导入并提取GIF动画帧
  2. 设置分辨率

    • 在分辨率设置区域输入宽度和高度
    • 或点击预设按钮使用常用分辨率
    • 点击"应用分辨率"确认设置
  3. 预览效果

    • 在文件列表中选择文件查看静态预览
    • 点击"播放动画"查看动态效果
    • 使用反色选项调整显示效果
  4. 生成代码

    • 点击"批量转换"处理所有图片
    • 设置数组名称和帧延迟
    • 点击"生成C代码"生成数组代码
    • 保存到文件或复制到剪贴板

输出格式说明

生成的C代码包含:

  • 二维数组,格式为 const unsigned char array_name[帧数][数据大小]
  • 每帧数据按OLED页式显示格式组织
  • 包含完整的使用示例函数
  • 头文件保护宏定义

OLED数据格式

程序将图片转换为OLED显示所需的字节数组格式:

  • 每8行像素组成一个页(Page)
  • 每个字节代表一列的8个像素点(垂直方向)
  • 数据排列顺序:按页顺序,每页内按列顺序

技术细节

依赖库

  • tkinter: GUI界面
  • PIL/Pillow: 图像处理
  • numpy: 数据计算
  • tempfile: 临时文件管理

项目结构

GIF2C/
├── gif_example/       # gif示例
├── OLED/              # OLED配套源码
├── main.py            # 主程序文件
├── icon.png           # 应用程序图标
├── README_en.md       # 英文说明文档
└── README.md          # 说明文档

常见问题

Q: 转换后的图片显示异常?

A: 请确保设置的分辨率与目标OLED显示屏一致,高度建议设置为8的倍数。

Q: GIF动画播放速度太快?

A: 调整"帧延迟"设置,单位为毫秒,数值越大播放越慢。

Q: 生成的数组如何使用?

A: 参考代码中的使用示例函数,需要配合OLED显示屏的显示函数使用。

Q: 支持透明背景图片吗?

A: 程序会自动将透明背景转换为黑色,建议使用不透明背景的图片。

开发信息

  • 开发者: e0_7
  • 版本: 1.0
  • 许可证: MIT License

更新日志

v1.0 (2025-10-07)

  • 初始版本发布
  • 支持图片和GIF转换
  • 实现图形化操作界面
  • 生成标准C语言数组代码

技术支持

如有问题或建议,请通过以下方式联系:

  • 提交GitHub Issue
  • 发送邮件至开发者联系我

注意: 本工具生成的代码适用于基于SSD1306等OLED显示屏的嵌入式项目,使用时请确保显示驱动与数据格式匹配。

About

用于在OLED显示GIF动图的极佳工具,并支持生成.h文件加快部署

Resources

Stars

Watchers

Forks

Packages

No packages published