1

有人知道适合以 .TMB 格式编写图像的库吗?

.TMB 格式适用于从 Epson 热敏收据打印机打印徽标。

4

1 回答 1

2

在看了大约一个小时左右的二进制数据后,我得出了以下结论:

*.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)!5380

在这之后一切都到位了。.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()
于 2010-10-05T21:01:01.713 回答