原理见
【MY808_DIY】从此随意自制各种点阵字库
https://www.mydigit.cn/forum.php?mod=viewthread&tid=69560
python代码
# -*- coding:utf-8 -*-
import matplotlib.image as mpimg
files = ["./0.bmp","./1.bmp","./2.bmp","./3.bmp","./4.bmp","./5.bmp","./6.bmp","./7.bmp","./8.bmp","./9.bmp","./colon.bmp"]
num_arr = []
# 读取点阵图,转为0(白)1(黑)的三维素组,[files[0][x][y]...]
for index in range(0, len(files)):
image_arr = mpimg.imread(files[index]).T
num3 = []
for i in range(0,len(image_arr[0])):
num3.append([])
for j in range(0,len(image_arr[0])):
if image_arr[0][j] == 255:
num3.append(0)
else:
num3.append(1)
# 行列置换
arr2 = [ [row for row in num3] for i in range(len(num3[0])) ]
print (arr2)
print ("\n")
num_arr.append(arr2)
print("\n\n")
print (num_arr)
# 01数组每8位转位16进制
ff_arr = []
for i in range(0, len(num_arr)):
for j in range(0, len(num_arr)):
num_str = ''
for k in range(0, len(num_arr[j])):
num_str += str(num_arr[j][k])
print (num_str)
print (hex(int(num_str,2)))
ff_arr.append(hex(int(num_str,2)))
print (ff_arr)
print (len(ff_arr))
效果
ff_arr = ["0x0", "0x7e", "0x42", "0x42", "0x42", "0x42", "0x42", "0x42", "0x42", "0x42", "0x42", "0x42", "0x42", "0x42", "0x7e", "0x0", "0x0", "0x2", "0x2", "0x2", "0x2", "0x2", "0x2", "0x2", "0x2", "0x2", "0x2", "0x2", "0x2", "0x2", "0x2", "0x0", "0x0", "0x7e", "0x2", "0x2", "0x2", "0x2", "0x2", "0x2", "0x7e", "0x40", "0x40", "0x40", "0x40", "0x40", "0x7e", "0x0", "0x0", "0x7e", "0x2", "0x2", "0x2", "0x2", "0x2", "0x2", "0x7e", "0x2", "0x2", "0x2", "0x2", "0x2", "0x7e", "0x0", "0x0", "0x42", "0x42", "0x42", "0x42", "0x42", "0x42", "0x42", "0x7e", "0x2", "0x2", "0x2", "0x2", "0x2", "0x2", "0x0", "0x0", "0x7e", "0x40", "0x40", "0x40", "0x40", "0x40", "0x40", "0x7e", "0x2", "0x2", "0x2", "0x2", "0x2", "0x7e", "0x0", "0x0", "0x7e", "0x40", "0x40", "0x40", "0x40", "0x40", "0x40", "0x7e", "0x42", "0x42", "0x42", "0x42", "0x42", "0x7e", "0x0", "0x0", "0x7e", "0x2", "0x2", "0x2", "0x2", "0x2", "0x2", "0x2", "0x2", "0x2", "0x2", "0x2", "0x2", "0x2", "0x0", "0x0", "0x7e", "0x42", "0x42", "0x42", "0x42", "0x42", "0x66", "0x7e", "0x42", "0x42", "0x42", "0x42", "0x42", "0x7e", "0x0", "0x0", "0x7e", "0x42", "0x42", "0x42", "0x42", "0x42", "0x42", "0x7e", "0x2", "0x2", "0x2", "0x2", "0x2", "0x7e", "0x0", "0x0", "0x0", "0x0", "0x0", "0x18", "0x0", "0x0", "0x0", "0x0", "0x0", "0x0", "0x0", "0x18", "0x0", "0x0", "0x0"]
8*16像素的BMP图片
bmp不能上传,下面为png图片,使用GIMP转为bmp即可。
|