硬汉嵌入式论坛

 找回密码
 立即注册
查看: 9246|回复: 28
收起左侧

[emWin] emWin5.36版本新增二维码生成功能的简单测试代码和显示效果

  [复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106913
QQ
发表于 2016-9-6 09:49:28 | 显示全部楼层 |阅读模式
emWin5.36的模拟器下载:http://www.armbbs.cn/forum.php?mod=viewthread&tid=21428
测试代码:

void MainTask(void)
{
    GUI_HMEM hMem, hMem1, hMem2;
    GUI_Init();

    GUI_SetBkColor(GUI_BLUE);
    GUI_Clear();

    GUI_SetColor(GUI_WHITE);
    GUI_SetFont(&GUI_Font16_1);
    GUI_DispStringAt("http://www.armfly.com/", 2, 5);
    hMem = GUI_QR_Create("http://www.armfly.com/", 7, GUI_QR_ECLEVEL_L, 0);
    GUI_QR_Draw(hMem, 2, 30);
   
    GUI_DispStringAt("http://www.baidu.com/", 190, 5);
    hMem1 = GUI_QR_Create("http://www.baidu.com/", 5, GUI_QR_ECLEVEL_L, 0);
    GUI_QR_Draw(hMem1, 190, 30);

    GUI_DispStringAt("https://www.segger.com/", 330, 5);
    hMem2 = GUI_QR_Create("https://www.segger.com/", 3, GUI_QR_ECLEVEL_L, 0);
    GUI_QR_Draw(hMem2, 330, 30);

    while (1)
    {
        GUI_Delay(10);
    }
}
=========================================
显示
效果:
5.jpg

回复

使用道具 举报

56

主题

905

回帖

1073

积分

至尊会员

积分
1073
发表于 2016-11-17 18:15:30 | 显示全部楼层
lz的东西都是干货啊。。。。
回复

使用道具 举报

56

主题

905

回帖

1073

积分

至尊会员

积分
1073
发表于 2016-11-17 18:30:15 | 显示全部楼层
emwin应该聘请你做中国区的兼职技术支持总监,发一份工资才行。
回复

使用道具 举报

22

主题

96

回帖

162

积分

初级会员

积分
162
发表于 2018-6-6 11:45:51 | 显示全部楼层
为什么二维码只能在GUI_CreateDialogBox上显示,不能在WM_CreateWindowAsChild上显示呢?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106913
QQ
 楼主| 发表于 2018-6-6 14:24:55 | 显示全部楼层
crazymcu 发表于 2018-6-6 11:45
为什么二维码只能在GUI_CreateDialogBox上显示,不能在WM_CreateWindowAsChild上显示呢?

没问题,看下你的这部分代码怎么写的。
回复

使用道具 举报

22

主题

96

回帖

162

积分

初级会员

积分
162
发表于 2018-6-6 15:20:06 | 显示全部楼层
void page_qrcode(void)
{
        WM_HWIN hWin;
//hWin = GUI_CreateDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), _cbDialog, WM_HBKWIN, 0, 0);
            hWin = WM_CreateWindowAsChild(WM_QRCODE_X0, WM_QRCODE_Y0, WM_QRCODE_XSIZE , WM_QRCODE_YSIZE , \
                                         hWin, WM_CF_SHOW|WM_CF_MEMDEV, \
                                         &cb_window, 0);
}
static void cb_window(WM_MESSAGE *pMsg)
{
    WM_HWIN hWin = 0;
          static GUI_HMEM hMem = 0;
    hWin = pMsg->hWin;
    switch (pMsg->MsgId)
    {
        /*! 窗口绘制 */
        case WM_PAINT:

                                //文字色块都能正常显示,二维码不显示
                                    GUI_SetColor(BACKGROUND_COLOR);
                                                GUI_FillRect(0, 0, WM_SLEEP_REPORT_XSIZE , WM_SLEEP_REPORT_YSIZE);
                                                GUI_SetColor(GUI_RED);
                                                GUI_DispStringAt("SYSTEM INFO", 10, 10);
                                                GUI_SetColor(GUI_BLUE);
                                                GUI_FillRect(20, 20, 50 , 50);
                               
                                                GUI_QR_Draw(hMem, 50, 50);
            break;
                                        case WM_INIT_DIALOG://初始化消息,创建窗口/控件时有效,比如在这里设置一些控件的初始参数
            hMem = GUI_QR_Create("http://www.armfly.com/", 3, GUI_QR_ECLEVEL_L, 0);
                      break;
        /*! 按键消息 */
        case WM_KEY:
            //wm_key(hWin, ((WM_KEY_INFO*)(pMsg->Data.p))->Key);
            break;
        /*! 自定义消息 */
        case WM_USER:
            break;
        /*! 其他 */
        default:
            WM_DefaultProc(pMsg);
                                    break;
    }
}
回复

使用道具 举报

22

主题

96

回帖

162

积分

初级会员

积分
162
发表于 2018-6-6 15:30:49 | 显示全部楼层
eric2013 发表于 2018-6-6 14:24
没问题,看下你的这部分代码怎么写的。

硬汉,我还有个问题就是,我想扫二维码显示一些数据,比如时间温湿度之类的参数,但是扫出来排版很不好看,这个有没有一些套用格式的呢?类似二维码电子名片VCARD那样的
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106913
QQ
 楼主| 发表于 2018-6-7 02:54:05 | 显示全部楼层
什么上面显示数据,也是emWin吗

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106913
QQ
 楼主| 发表于 2018-6-7 02:54:18 | 显示全部楼层
crazymcu 发表于 2018-6-6 15:20
void page_qrcode(void)
{
        WM_HWIN hWin;

QQ截图20180607025254.png


QQ截图20180607025501.png
回复

使用道具 举报

22

主题

96

回帖

162

积分

初级会员

积分
162
发表于 2018-6-7 09:01:12 | 显示全部楼层
本帖最后由 crazymcu 于 2018-6-7 09:02 编辑
eric2013 发表于 2018-6-7 02:54
什么上面显示数据,也是emWin吗

谢谢硬汉,可以显示了,是扫码后在手机上显示,是默认居中对齐的,不怎么好看,不知有没有办法调整格式D:\1.png 12.png

下面那张是套用VCARD格式的电子名片
6dafb433b84f4d4730e11519cb1bd3b2_612.jpg

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106913
QQ
 楼主| 发表于 2018-6-7 19:43:20 | 显示全部楼层
crazymcu 发表于 2018-6-7 09:01
谢谢硬汉,可以显示了,是扫码后在手机上显示,是默认居中对齐的,不怎么好看,不知有没有办法调整格式
...

我没搞懂你的这个界面数据是来自哪里,扫描二维码后,这些数据从远处服务器读取而来?
回复

使用道具 举报

22

主题

96

回帖

162

积分

初级会员

积分
162
发表于 2018-6-8 15:29:11 | 显示全部楼层
eric2013 发表于 2018-6-7 19:43
我没搞懂你的这个界面数据是来自哪里,扫描二维码后,这些数据从远处服务器读取而来?

这些数据是存放在二维码中的,没事了,我查过了,二维码只能存储文本信息,排版是没法做到的
回复

使用道具 举报

22

主题

96

回帖

162

积分

初级会员

积分
162
发表于 2018-6-8 15:35:47 | 显示全部楼层
eric2013 发表于 2018-6-7 19:43
我没搞懂你的这个界面数据是来自哪里,扫描二维码后,这些数据从远处服务器读取而来?

把下面两个字符数组分别导入二维码中,手机扫码就是得到我上面发的两张图片内容
const char QRINFO[]={
        "机器型号:AK47\r\n"
        "仪器序列号:123345656\r\n"
        "昨夜的使用时间:8小时\r\n"
        "温度:10℃\r\n"
        "湿度:90%\r\n"
};


const char codetest[]={//微信名片,可以去百度上搜索二维码名片 查看
"BEGIN:VCARD\r\n"
"VERSION:3.0\r\n"
"N:陈先生 \r\n"//名字
"TEL:13888888888\r\n"//手机号
"TEL;TYPE=WORK,VOICE:0571-88888888\r\n"//工作号码
"TEL;TYPE=HOME,VOICE:0571-66666666\r\n"//家庭号码
"NOTEQ:12345\r\n"//QQ号码
"EMAIL:12345@qq.com\r\n"//邮箱地址
"ORG:公司名称\r\n"//公司
"TITLE:职位名称\r\n"
"URL:http://个人主页\r\n"
"ADR;TYPE=WORK:工作地址\r\n"//地址
"ADR;TYPE=HOME:家庭住址\r\n"
"END:VCARD"
};
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106913
QQ
 楼主| 发表于 2018-6-9 01:49:22 | 显示全部楼层
crazymcu 发表于 2018-6-8 15:35
把下面两个字符数组分别导入二维码中,手机扫码就是得到我上面发的两张图片内容
const char QRINFO[]={
...

这功能有点意思,不错。

这个功能是不是有专门的软件转换。

点评

这个不知道有没有,那个二维码名片套用的是VCARD格式  发表于 2018-6-11 10:48
回复

使用道具 举报

3

主题

43

回帖

52

积分

初级会员

积分
52
发表于 2018-6-9 08:48:31 | 显示全部楼层


好东西,以后可能用得着
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106913
QQ
 楼主| 发表于 2018-6-13 02:03:57 | 显示全部楼层
这个不知道有没有,那个二维码名片套用的是VCARD格式  


好的,谢谢告知。
回复

使用道具 举报

7

主题

70

回帖

91

积分

初级会员

积分
91
发表于 2018-6-13 08:42:44 | 显示全部楼层
本帖最后由 longjunyi 于 2018-6-13 09:00 编辑

好东西,我也去试试。测试结果反馈,用微信,QQ扫描没有问题,其他软件中文乱码
回复

使用道具 举报

2

主题

10

回帖

16

积分

新手上路

积分
16
发表于 2019-6-19 10:26:53 | 显示全部楼层
这个二维码显示至少需要多少像素点
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106913
QQ
 楼主| 发表于 2019-6-19 14:01:04 | 显示全部楼层
One_Zero 发表于 2019-6-19 10:26
这个二维码显示至少需要多少像素点

不限制,你可以测试下可以识别的最小像素。
回复

使用道具 举报

29

主题

514

回帖

606

积分

金牌会员

积分
606
QQ
发表于 2019-6-20 08:53:14 | 显示全部楼层
更多内容,可以用三维码来记录。
Releasing your creativity
回复

使用道具 举报

2

主题

569

回帖

575

积分

金牌会员

积分
575
发表于 2019-6-23 11:16:16 | 显示全部楼层
我试了一下,怎么都扫不出来,相机对着,连二维码都识别不了
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106913
QQ
 楼主| 发表于 2019-6-24 09:25:00 | 显示全部楼层
leiyitan 发表于 2019-6-23 11:16
我试了一下,怎么都扫不出来,相机对着,连二维码都识别不了

你的手机改换了^_^,我渣渣的红米都可以识别。
回复

使用道具 举报

2

主题

569

回帖

575

积分

金牌会员

积分
575
发表于 2019-6-25 09:38:35 | 显示全部楼层
eric2013 发表于 2019-6-24 09:25
你的手机改换了^_^,我渣渣的红米都可以识别。

是的,水果机太烂了,我也换个红米试试
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106913
QQ
 楼主| 发表于 2019-6-25 09:46:50 | 显示全部楼层
leiyitan 发表于 2019-6-25 09:38
是的,水果机太烂了,我也换个红米试试

你水果机还差,已经很好了。
回复

使用道具 举报

2

主题

569

回帖

575

积分

金牌会员

积分
575
发表于 2019-6-25 11:07:41 | 显示全部楼层
本帖最后由 leiyitan 于 2019-6-25 11:22 编辑

P90625-110018.jpg
确实没有扫出来,反色了也不行 P90625-110018.jpg
GUI_HMEM hMem;
GUI_SetBkColor(GUI_BLACK);
GUI_SetColor(GUI_WHITE);
GUI_Clear();

hMem=GUI_QR_Create("OET DEV", 5, GUI_QR_ECLEVEL_L, 0);
GUI_QR_Draw(hMem, 27, 5);

GUI_SetColor(0x1D66CD);
GUI_DrawRect(25,3,25+110,3+110);//画二维码的框框

GUI_QR_Delete(hMem);


回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106913
QQ
 楼主| 发表于 2019-6-25 12:02:18 | 显示全部楼层
leiyitan 发表于 2019-6-25 11:07
确实没有扫出来,反色了也不行
GUI_HMEM hMem;
GUI_SetBkColor(GUI_BLACK);

QQ截图20190625120037.jpg
回复

使用道具 举报

2

主题

569

回帖

575

积分

金牌会员

积分
575
发表于 2019-6-26 00:23:25 | 显示全部楼层

哈哈,你用什么软件怎么扫的,能透露一下么?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106913
QQ
 楼主| 发表于 2019-6-26 09:13:04 | 显示全部楼层
leiyitan 发表于 2019-6-26 00:23
哈哈,你用什么软件怎么扫的,能透露一下么?

最常用的微信,支付宝就行啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-10 02:32 , Processed in 0.252931 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表