热敏打印机 USB打印图片

本文详细解析了热敏打印机的打印数据结构,包括如何从原始打印数据中提取图像信息,解释了数据的组织方式及如何转换为实际的像素值,并展示了具体的例子。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

log:

1b 40 0a 0a  1d 23 03 1d  2a 04 02 00  07 00 03 00 
03 00 03 00  01 00 01 00  01 00 01 00  00 00 00 00 
00 00 00 00  02 00 02 00  02 00 06 00  00 00 00 00 
00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00 
00 00 00 00  00 00 00 00  00 00 00 1d  50 b4 b4 1b 
53 0a 0a 0a  1b 24 46 00  1b 4d 03 1d  42 00 1d 62 
00 1d 21 00  1b 45 00 1b  7b 00 1b 2d  00 1c 2d 00 
1b 56 00 cd  a8 d0 d0 bf  a8 49 44 3a  1b 24 be 00 
1b 4d 03 1d  42 00 1d 62  00 1d 21 00  1b 45 00 1b 
7b 00 1b 2d  00 1c 2d 00  1b 56 00 33  33 30 33 30 
30 30 30 31  32 33 34 35  36 37 38 0a  1b 24 46 00 
1b 4d 03 1d  42 00 1d 62  00 1d 21 00  1b 45 00 1b 
7b 00 1b 2d  00 1c 2d 00  1b 56 00 c8  eb bf da ca 
b1 bc e4 3a  1b 24 be 00  1b 4d 03 1d  42 00 1d 62 
00 1d 21 00  1b 45 00 1b  7b 00 1b 2d  00 1c 2d 00 
1b 56 00 32  30 31 38 2d  30 34 2d 32  30 20 20 31 
30 3a 31 30  3a 31 30 0a  1b 24 46 00  1b 4d 03 1d 
42 00 1d 62  00 1d 21 00  1b 45 00 1b  7b 00 1b 2d 
00 1c 2d 00  1b 56 00 bd  f0 b6 ee 3a  1b 24 be 00 
1b 4d 03 1d  42 00 1d 62  00 1d 21 00  1b 45 00 1b 
7b 00 1b 2d  00 1c 2d 00  1b 56 00 38  36 2e 30 30 
d4 aa 0a 1b  24 46 00 1b  4d 03 1d 42  00 1d 62 00 
1d 21 00 1b  45 00 1b 7b  00 1b 2d 00  1c 2d 00 1b 
56 00 b3 b5  c5 c6 3a 1b  24 be 00 1b  4d 03 1d 42 
00 1d 62 00  1d 21 00 1b  45 00 1b 7b  00 1b 2d 00 
1c 2d 00 1b  56 00 c2 b3  41 36 36 30  30 31 5b c0 
b6 c9 ab 5d  0a 0a 1b 24  14 00 1d 23  03 1d 2f 03 
0a 0a 0a 0a  0a 0a 1d 56  00                       

对应的图片:
这里写图片描述

图片的内容如下:

00 07 
00 03 
00 03 
00 03 
00  01 
00 01 
00  01 
00 01 
00 00 
00 00 
00 00 
00 00 
00 02 
00 02 
00 02 
00 06 

剩余的数据是:

00  00 
00 00 
00 00 
00 00 
00  00 
00 00 
00  00 
00 00 
00  00 
00 00 
00 00 
00 00 
00  00 
00 00 
00  00 
00 00 

图片是 16x16的,
04 = 4x8 = 32 ,不足4个字节补足0
02 = 2 x8 = 16

这里写图片描述

数据: bmp文件头:

42 4d 7e 00 00 00 00 00 00 00 3e 00 00 00 28 00
00 00 10 00 00 00 10 00 00 00 01 00 01 00 00 00
00 00 40 00 00 00 00 00 00 00 00 00 00 00 02 00
00 00 00 00 00 00 
00 00 00 00 
ff ff ff 00 

实际像素:

00 ff 00 00 
0f f0 00 00 
7f fe 00 00 
ff ff 00 00 
ff ff 00 00 
ff ff 00 00 
ff ff 00 00 
ff ff 00 00 
ff ff 00 00 
ff ff 00 00 
ff ff 00 00 
ff ff 00 00 
ff ff 00 00 
ff ff 00 00 
ff ff 00 00 
ff ff 00 00

00000000( 数值:0x00000000) 黑色

FFFFFF00( 数值:0x00FFFFFF) 白色

像素 0 是 黑色
1 是 白色
用于补足4个字节的 0 不算

这里写图片描述

这里写图片描述

热敏打印机取数据是 按照列 取数据,从左到右
每一列按照是从上到下取,列上的 每8位 是一个字节,高位在上,低位在下。
列上如果不足8位怎么办?
如果列不是正好是8的倍数怎么办呢?
这里写图片描述

这里写图片描述

打印数据:

1b 40 0a 0a  1d 23 03 1d  2a 04 03 00  3f c1 3f df 
c3 20 0f c7  30 07 cf 38  03 df 3c 01  ff 00 00 c1 
00 00 01 00  00 02 00 00  82 00 01 82  00 03 82 00 
07 82 00 0f  82 00 1f 82  00 3f 82 00  00 00 00 00 
00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00 
00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00 
00 00 00 00  00 00 00 00  00 00 00 1d  50 b4 b4 1b 
53 0a 0a 0a  1b 24 46 00  1b 4d 03 1d  42 00 1d 62 
00 1d 21 00  1b 45 00 1b  7b 00 1b 2d  00 1c 2d 00 
1b 56 00 cd  a8 d0 d0 bf  a8 49 44 3a  1b 24 be 00 
1b 4d 03 1d  42 00 1d 62  00 1d 21 00  1b 45 00 1b 
7b 00 1b 2d  00 1c 2d 00  1b 56 00 33  33 30 33 30 
30 30 30 31  32 33 34 35  36 37 38 0a  1b 24 46 00 
1b 4d 03 1d  42 00 1d 62  00 1d 21 00  1b 45 00 1b 
7b 00 1b 2d  00 1c 2d 00  1b 56 00 c8  eb bf da ca 
b1 bc e4 3a  1b 24 be 00  1b 4d 03 1d  42 00 1d 62 
00 1d 21 00  1b 45 00 1b  7b 00 1b 2d  00 1c 2d 00 
1b 56 00 32  30 31 38 2d  30 34 2d 32  30 20 20 31 
30 3a 31 30  3a 31 30 0a  1b 24 46 00  1b 4d 03 1d 
42 00 1d 62  00 1d 21 00  1b 45 00 1b  7b 00 1b 2d 
00 1c 2d 00  1b 56 00 bd  f0 b6 ee 3a  1b 24 be 00 
1b 4d 03 1d  42 00 1d 62  00 1d 21 00  1b 45 00 1b 
7b 00 1b 2d  00 1c 2d 00  1b 56 00 38  36 2e 30 30 
d4 aa 0a 1b  24 46 00 1b  4d 03 1d 42  00 1d 62 00 
1d 21 00 1b  45 00 1b 7b  00 1b 2d 00  1c 2d 00 1b 
56 00 b3 b5  c5 c6 3a 1b  24 be 00 1b  4d 03 1d 42 
00 1d 62 00  1d 21 00 1b  45 00 1b 7b  00 1b 2d 00 
1c 2d 00 1b  56 00 c2 b3  41 36 36 30  30 31 5b c0 
b6 c9 ab 5d  0a 0a 1b 24  14 00 1d 23  03 1d 2f 03 
0a 0a 0a 0a  0a 0a 1d 56  00                       

其中的像素数据为:

00  3f c1 
3f df c3 
20 0f c7  
30 07 cf 
38  03 df 
3c 01  ff 
00 00 c1 
00 00 01 
00  00 02 
00 00  82 
00 01 82  
00 03 82 
00 07 82 
00 0f  82 
00 1f 82  
00 3f 82 

补充数据:

00  00 00 
00 00 00 
00 00 00  
00 00 00 
00  00 00 
00 00  00 
00 00 00 
00 00 00 
00  00 00 
00 00  00 
00 00 00  
00 00 00 
00 00 00 
00 00  00 
00 00 00  
00 00 00 

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值