bmp图片批量转c数组小程序【工具篇】
--------要想做好嵌入式软件开发,好的软件工具少不了,能很好地提高软件开发效率。-------
1、前言
最近在做包含黑白lcd显示屏的项目,有不少的界面需要生成。我们经常会把lcd的界面转成数组,再放到代码里面调用显示。我们比较常用的bmp转数组软件是imglcd这个软件。
这个软件下载链接可以参考我上一篇文章:【一、嵌入式软件开发常用软件附下载链接】
这个软件非常好用,基本做嵌入式界面开发的都会用到。但是有个问题,如果我们的界面很多的时候怎么办呢,要处理的照片几十上百张的时候,有时候还有需要对生成的数组做一些格式化的需求,这个软件有不行了。因为img2lcd不能对图片做批量操作,生成的数组文件也不能加一些定制化的内容,那么我们的工作量会很大,甚至还会遇到项目组改需求改界面的情况,那是不是又得重新手动生成数组了,很多时间都花在了无用功上面。所以,自己写一些自动化程序做这些没脑子内容很有必要,可以很大提高我们的工作效率。我下面用python做了一个小程序,供大家参考。
2、手写bmp图片批量转c数组小程序
2.1 完整工程下载链接
下载链接
工程目录结构:
2.2 效果图
效果图:
操作简单:手动输入文件夹路径或者单击搜索按钮选择文件夹路径,点击批量生成就ok了。
生成的c语言数组如下:
所有该路径下的bmp图片的数组都生成再bmp_to_arr.c文件下。
2.3 代码
直接上代码:
app界面如下:
代码简单易懂,不会python的看文件名都能看懂,可以根据需要修改。
import tkinter as tk
from tkinter import filedialog
from bmp2array import bmp_process
version = 'v1.0'
def open_file_dialog():
# 使用filedialog.askopenfilename打开文件选择对话框
file_path = filedialog.askdirectory()
if file_path:
# 将选择的文件路径设置到输入框中
entry.delete(0, tk.END) # 清空输入框
entry.insert(0, file_path) # 插入新的文件路径
def process_file_path():
# 获取输入框中的文件路径
file_path = entry.get()
if file_path:
# 在这里处理文件路径,例如打印出来
print("Processing file:", file_path)
bmp_process(file_path)
else:
print("Please enter a file path.")
# 创建主窗口
root = tk.Tk()
root.title(f'bmp转数组 {version}')
# 设置窗口大小
root.geometry("300x120")
# 创建一个标签提示用户输入文件路径
label = tk.Label(root, text="输入路径或者点击搜索按钮")
label.pack()
# 创建一个输入框用于输入文件路径
entry = tk.Entry(root)
entry.pack()
# 创建一个按钮用于打开文件选择对话框
button_browse = tk.Button(root, text=