硬汉嵌入式论坛

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

[emWin] 关于GRAPH控件的疑惑

[复制链接]
回帖奖励 6 个金币 回复本帖可获得 3 个金币奖励! 每人限 1 次

2

主题

5

回帖

11

积分

新手上路

积分
11
发表于 2021-12-28 09:39:37 | 显示全部楼层 |阅读模式
我们通过给控件添加数据达到图像显示的效果,那么问题来了,图像显示的的区域是有限的,但是如果像让有限的图像显示区域显示超过它大小的数据数量该怎么办呢?
此时使用控件会自动添加滚动条,但在这种情况下仍是1像素对应一个点,即如果我是800像素点,只能显示800个点的数据,多出来的通过滚动条才能看见
是否可以不让像素和点一一对应,比如一个像素显示2个点,调整显示的比例,类似于2D绘图的方法,求教
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117568
QQ
发表于 2021-12-28 09:59:20 | 显示全部楼层

回帖奖励 +3 个金币

显示两个点,还是调整比例关系,将两个点显示到1个像素上。
回复

使用道具 举报

2

主题

5

回帖

11

积分

新手上路

积分
11
 楼主| 发表于 2021-12-28 10:02:12 | 显示全部楼层
eric2013 发表于 2021-12-28 09:59
显示两个点,还是调整比例关系,将两个点显示到1个像素上。

请问这是通过graph控件实现吗 调用了什么函数
回复

使用道具 举报

2

主题

5

回帖

11

积分

新手上路

积分
11
 楼主| 发表于 2021-12-28 10:04:04 | 显示全部楼层
eric2013 发表于 2021-12-28 09:59
显示两个点,还是调整比例关系,将两个点显示到1个像素上。

请问该怎么操作呢
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117568
QQ
发表于 2021-12-28 10:16:08 | 显示全部楼层
li547330575 发表于 2021-12-28 10:02
请问这是通过graph控件实现吗 调用了什么函数

缩放数据的话,Graph控件做不了,需要插补函数,这个你可以学习下emWin的样条插补函数。
回复

使用道具 举报

2

主题

5

回帖

11

积分

新手上路

积分
11
 楼主| 发表于 2021-12-28 10:18:39 | 显示全部楼层
eric2013 发表于 2021-12-28 10:16
缩放数据的话,Graph控件做不了,需要插补函数,这个你可以学习下emWin的样条插补函数。

好的 我去学习下这个 那就是graph控件只能像素和点一一对应把 所以二代用的都是2D绘图的方法
回复

使用道具 举报

5

主题

278

回帖

293

积分

高级会员

积分
293
发表于 2021-12-28 14:13:39 | 显示全部楼层
之前用过一种方法可以间接的让graph有波形缩放的效果,定义一个graph显示点数若干倍的数据缓冲区,然后等间距的抽点传给graph,更改这个间距就可以在graph上有缩放的效果
比如graph显示800点,定义一个5倍大小的缓冲区,就可以实现1~5倍的缩放
不过我这个方法只能把波形放大到1:1,再想放大就要想办法增加两个采样点之间的数据了,做数据插值或者提高采样率应该都可以,缩小也有同样的限制,5倍大小的缓冲最多能完整缩小5倍,再缩小就不够800点了,需要调整缓冲区大小或者降低采样率
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-15 12:57 , Processed in 0.116745 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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