3.6 立即显示图片
在屏幕指定区域显示图片;
请求:
SF | CTRL | DES | SRC | TID | CMD | X | Y | WIDTH | HEIGHT |
2字节 | 2字节 | 2字节 | 2字节 | 2字节 | 2字节 | 2字节 | 2字节 | 2字节 | 2字节 |
FORMAT | BMPSRC | SRCDATA | IS1BIT | CRC | EF |
4字节 | 8字节 | 1-1024字节 | 1字节 | 2字节 | 2字节 |
CMD:请求命令,0x0240;
X:显示区域X坐标。
Y:显示区域Y坐标。
WIDTH:显示区域宽度;
HEIGHT:显示区域高度;
FORMAT:图片显示格式,仅在RES为0时存在;
位31-8:保留,为0;
位 7- 6:水平对齐HALIGN
00:左对齐;
01:水平居中对齐;
10:右对齐;
位 5- 4:
00:上对齐;
01:垂直居中对齐;
10:下对齐;
位3-0:保留,为0;
BMPSRC:图片源信息头,大小8字节;仅在REV为0时存在;
struct tagBitmapSourceHeader{
U16 type;
U16 version;
U32 size;
}BMPSRCHEADER;
type:图片类型,值为0表示为存储位图,值为1表示内存位图;
version: 版本,当前版本为0;
size: 图片或二维码源数据大小;
SRCDATA:图片源数据,
type = 0时,SRCDATA为存储位图的ID(2个字节数据);
type = 1时,SRCDATA为内存位图数据,数据大小最大为1024字节;
type = 2时,SRCDATA为二维码字符串数据,数据大小为1-128字节范围;
IS1BIT : 保留,1个字节,始终为0,特别注意:此1字节数据仅在type=1时存在,即发送内存位图时需要填充为0x00。
注:只支持1、4、16、24和32位非压缩图片(即biCompression 为
BI_RGB)。
回应:
SF | CTRL | DES | SRC | TID | CMD | RES | CRC | EF |
2字节 | 2字节 | 2字节 | 2字节 | 2字节 | 2字节 | 2字节 | 2字节 | 2字节 |
CMD:回应命令,0x8240;
RES:操作结果,0表示成功,其他表示错误,可查看附件1中错误代码
例1:显示存储位图
请求命令:(在屏幕起点X=0x0000,Y=0x0000位置,显示区域宽度Width = 0x0020 ,Height = 0x0010,显示图片ID = 0x0001的图片)
aa a5 1e 00 01 01 00 00 00 00 40 02 00 00 00 00 20 00 10 00 00 00 00 00 00 00 00 00 02 00 00 00 01 00 00 00 5a 55
回应命令:
aa a5 0a 08 00 00 01 01 00 00 40 82 00 00 aa 65 5a 55
例2:显示内存位图
请求命令:(在屏幕起点X=0x0000,Y=0x0000位置,显示区域宽度Width = 0x0020 ,Height = 0x0020,显示一幅内存位图)
aa a5 DC 00 01 01 00 00 00 00 40 02 00 00 00 00 20 00 20 00 00 00 00 00 01 00 00 00 C0 00 00 00 42 4d c0 00 00 00 00 00 00 00 3e 00 00 00 28 00 00 00 20 00 00 00 20 00 00 00 01 00 01 00 00 00 00 00 82 00 00 00 12 0b 00 00 12 0b 00 00 00 00 00 00 00 00 00 00 ff ff ff 00 00 00 00 00 ff ff ff ff ff ff ff fe ff ff ff fc ff ff ff f8 ff ff ff f0 ff ff ff e0 ff ff ff c0 ff ff ff 80 ff ff ff 00 ff ff fe 00 ff ff fc 00 ff ff f8 00 ff ff f0 00 ff ff e0 00 ff ff c0 00 ff ff 80 00 ff ff 00 00 ff fe 00 00 ff fc 00 00 ff f8 00 00 ff f0 00 00 ff e0 00 00 ff c0 00 00 ff 80 00 00 ff 00 00 00 fe 00 00 00 fc 00 00 00 f8 00 00 00 f0 00 00 00 e0 00 00 00 c0 00 00 00 80 00 00 00 00 00 00 00 5a 55
回应命令:
aa a5 0a 08 00 00 01 01 00 00 40 82 00 00 aa 65 5a 55