.TMB 形式で画像を書き込むのに適したライブラリを知っている人はいますか?
.TMB 形式は、エプソンのサーマル レシート プリンターからロゴを印刷するのに適しています。
約 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
うーん..面白い!
気まぐれで、と をそれぞれ .TMB 画像の正確なサイズ (実際には 80x53) に相当する 10 進数に変換すること5
にしました。P
53
80
この後、すべてがうまくいきました。.TMB ファイルの残りの部分は、単なるバイナリ イメージ データです。
これは、私の理論をテストするために私が書いた 1 回限りの 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()