有人知道适合以 .TMB 格式编写图像的库吗?
.TMB 格式适用于从 Epson 热敏收据打印机打印徽标。
在看了大约一个小时左右的二进制数据后,我得出了以下结论:
*.TMB 图像实际上只是用于打印光栅图像的序列化 ESC/POS 命令。
使用以下命令:
od -t a -v [YOUR_TMB_FILE] | head
我们可以在 TMB 文件的开头查看二进制数据,作为 ASCII 字符数据。
我有一个看起来像这样的文件:
0000000 gs v 0 nul 5 nul P nul del del del del del del del del
0000020 del del del del del del del del del del del del del del del del
... snipped for brevity ...
根据ESC/POS Programming Guide,打印光栅图像的 ASCII 命令是:
GS V 0
嗯..有趣!
一时兴起,我决定将5
和转换为它们的十进制等价物,P
它们分别是我的 .TMB 图像的确切尺寸(实际上是 80x53)!53
80
在这之后一切都到位了。.TMB 文件的其余部分只是二进制图像数据。
这是我为测试我的理论而编写的一次性 Python 脚本:
1 out = open('test.TMB', 'wb')
2
3 width = 80
4 height = 53
5
6 NUL = chr(0)
7 GS = chr(29)
8 V = chr(118)
9 ZERO = chr(48)
10
11 W = chr(width)
12 H = chr(height)
13
14 out.write(GS)
15 out.write(V)
16 out.write(ZERO)
17 out.write(NUL)
18
19 out.write(H)
20 out.write(NUL)
21 out.write(W)
22 out.write(NUL)
23
24 for y in range(0, height):
25 for x in range(0, width):
26 out.write(chr(127)) # looks like `del` in ASCII mode
27
28 out.close()