迪文科技论坛

 找回密码
 立即注册
搜索
查看: 26670|回复: 19

【os范例】基于os演示用基本图形实现进度条功能

[复制链接]

82

主题

150

回帖

2624

积分

超级版主

Rank: 8Rank: 8

积分
2624
发表于 2019-8-7 17:27:52 | 显示全部楼层 |阅读模式
附件的demo是用迪文T5/T5-os汇编处理的作为进度条的效果演示,(OS功能并非必须要用的,用户用串口发指令即可实现)

实际用户处理进度条,只需要用基本图形发串口指令就可以实现。如果要用os处理,附件的demo仅仅作为参考演示效果用。

视频效果展示链接:

https://v.qq.com/x/page/c0910pup96k.html

http://cache.tv.qq.com/qqplayerout.swf?vid=c0910pup96k
(附件中的图片素材准备仅仅是简单用PPT做出来后截图做出来的图片,用该改功能演示,用户也可以自由去设计更加炫酷的图片,以带来更佳的人机交互体验。)

demo实现原理:
1、进图条进度 是用DGUS控件基本图形的矩形填充实现,(也可以用图片剪切,将其他页面的方形区域粘贴到当前区域,)
矩形填充指令举例:5A A5 11 82  2000 0004 0001 001E 0096 01AE 00B4 001E  区域(30,150)(430,180)
指令解释如下:
5A A5 11 82  2000 帧头、数据长度、写指令、变量地址vp
0004   基本图形绘图指令:0004表示矩形填充
0001 表示绘制数量为1个基本图形
001E 0096 01AE 00B4 (xs,ys)xe,ye)矩形显示区域(30,150)(430,180)
001f 蓝色
矩形区域的(xe)的坐标设计思路:
demo采用800x480的分辨率取矩形区域x横坐标变化范围坐标为500个像素(652-152=500),分成100等分,则变化量为5,即随着 进度数字的百分比显示的x 变化为:起始坐标+5x

2、进度的数字显示是用的数据变量显示控件(控件可设置带上单位%),利用描述指针关联的+1地址属性更改横向的坐标,让其能够随着进度的坐标进行变化。
(更具体的指令请参考开发指南描述指针使用方法介绍)
例如:数据变量设置描述指针地址0x5000,发送指令显示到坐标位置(100,101)5A A5 07 82 5001 0064 0065

3、也可以用图形剪切实现进度条,即将某页面的底图图标的坐标矩形区域按照x轴增加的坐标剪切到要显示的基本图形地址里面。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

82

主题

150

回帖

2624

积分

超级版主

Rank: 8Rank: 8

积分
2624
 楼主| 发表于 2021-9-26 12:54:06 | 显示全部楼层
本帖最后由 神秘の宅叔 于 2023-7-3 14:16 编辑

补充:
如果想实现环形进度条,建议做成图标显示,附件图标素材可以参考。

只需要设置好地址、图标控件的参数设置,

例如:
上限100,对应图标序号100
下限0,对应图标序号0

用户只需要对着变量地址赋值,即可显示图标进度
5A A5 05 82 VP 0064 显示100%





2023-01-31日功能增加:
补充:T5L DGUSII 显示变量控件增加了 0x23 进度条显示控件。(内核版本V6.0及以上



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

1

主题

7

回帖

42

积分

新手上路

Rank: 1

积分
42
发表于 2019-8-12 14:14:35 | 显示全部楼层
请问下这个程序的dwinset文件夹我下载到t5版本带继电器的86盒屏里怎么实现不了

回复

使用道具 举报

0

主题

31

回帖

241

积分

中级会员

Rank: 3Rank: 3

积分
241
发表于 2019-8-13 09:27:23 | 显示全部楼层
zhu520 发表于 2019-8-12 14:14
请问下这个程序的dwinset文件夹我下载到t5版本带继电器的86盒屏里怎么实现不了

...

这个历程是800*480的,86盒的分辨率和历程的分辨率对不上,所有您可以修改相关的分辨率后在下载测试。
回复

使用道具 举报

1

主题

7

回帖

42

积分

新手上路

Rank: 1

积分
42
发表于 2019-8-13 15:12:00 | 显示全部楼层
好的谢谢
我试试
回复

使用道具 举报

1

主题

7

回帖

42

积分

新手上路

Rank: 1

积分
42
发表于 2019-8-13 16:29:47 | 显示全部楼层
相关的分辨率怎么改。。求大佬指点指点 改了好几次都不行
回复

使用道具 举报

4

主题

12

回帖

77

积分

注册会员

Rank: 2

积分
77
发表于 2020-3-15 21:37:29 | 显示全部楼层
0001表示剪切1个基本图形
这个参数是干什么用的?迪文DGUS屏开发指南_V43中关于基本图形的好像没有这个参数?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0

主题

38

回帖

1092

积分

金牌会员

Rank: 6Rank: 6

积分
1092
发表于 2020-3-16 11:34:31 | 显示全部楼层
您好,这个就是给界面上所绘画的矩形填充颜色的。
回复

使用道具 举报

0

主题

1

回帖

19

积分

新手上路

Rank: 1

积分
19
发表于 2020-4-27 18:27:42 | 显示全部楼层
5A A5 11 82  2000 0004 0001 001E 0096 01AE 00B4 001E

请问你说的这个命令在哪里找的到啊?
回复

使用道具 举报

0

主题

3

回帖

55

积分

注册会员

Rank: 2

积分
55
发表于 2021-3-20 11:03:28 | 显示全部楼层
请问一下,x轴的变化是这样,那要怎么将X轴改成Y轴呢?
回复

使用道具 举报

0

主题

220

回帖

2338

积分

金牌会员

Rank: 6Rank: 6

积分
2338
发表于 2021-3-20 11:55:54 | 显示全部楼层
刘喜龙 发表于 2021-3-20 11:03
请问一下,x轴的变化是这样,那要怎么将X轴改成Y轴呢?

剪切的对应坐标就可以的,不管X轴还是Y轴都是一样的原理
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|迪文科技论坛 ( 京ICP备05033781号-1 )

GMT+8, 2024-11-23 11:59 , Processed in 0.067499 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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