【问题标题】:A library for creating .TMB images?用于创建 .TMB 图像的库?
【发布时间】:2011-04-21 10:04:28
【问题描述】:

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

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

【问题讨论】:

  • 您有示例文件吗?它可能是一个简单的位图。
  • 我认为你是对的......请看我的回答
  • 优秀。很遗憾我没有将其发布为答案;)

标签: image epson


【解决方案1】:

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

*.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

嗯.. 有趣!

一时兴起,我决定将5P 转换为它们的十进制等效值,分别是5380,这是我的.TMB 图像的确切尺寸(实际上是80x53)!

在这之后一切都到位了。 .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()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-31
    • 1970-01-01
    • 2022-12-29
    • 2011-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多