硬汉嵌入式论坛

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

[emWin] 想绘制一个表盘状的进度条,箭头部分应该如何绘制比较好

[复制链接]

31

主题

41

回帖

134

积分

初级会员

积分
134
发表于 2022-9-29 09:42:59 | 显示全部楼层 |阅读模式
image.png 类似于这种的,目前绘制了一个,箭头是按照三角形的顶角,计算另外两个角的坐标,其中运用了cos和sin函数,但貌似跑着跑着会死机,有什么更好的办法吗
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106882
QQ
发表于 2022-9-29 10:09:20 | 显示全部楼层
用存储设备的旋转函数更方便,就是要占用一定的RAM空间
回复

使用道具 举报

31

主题

41

回帖

134

积分

初级会员

积分
134
 楼主| 发表于 2022-9-29 19:33:54 | 显示全部楼层
本帖最后由 hhh535 于 2022-9-29 19:42 编辑
eric2013 发表于 2022-9-29 10:09
用存储设备的旋转函数更方便,就是要占用一定的RAM空间

GUI_RotatePolygon发现用这个也可以实现,我用GUI_AA_FillPolygon定了圆心坐标,但是不能修改半径怎么办?
一下为绘制部分代码
const GUI_POINT aPointSrc[] = {
        { 0, 200 },
        { -20, 163 },
        { 20, 163 },
};
GUI_POINT aPointDst[GUI_COUNTOF(aPointSrc)];
GUI_RotatePolygon(aPointDst, aPointSrc, GUI_COUNTOF(aPointSrc), 270 * 3.1415926f / 180);
GUI_AA_FillPolygon(aPointDst, GUI_COUNTOF(aPointDst), 366*3,360*3);效果图如下:
image.png
回复

使用道具 举报

31

主题

41

回帖

134

积分

初级会员

积分
134
 楼主| 发表于 2022-9-29 20:10:48 | 显示全部楼层
hhh535 发表于 2022-9-29 19:33
GUI_RotatePolygon发现用这个也可以实现,我用GUI_AA_FillPolygon定了圆心坐标,但是不能修改半径怎么办 ...

已解决,箭头的各点坐标应该这么写
const GUI_POINT aPointSrc[] = {
        { 0   * 3, (60 + 17) * 3 },
        { -10 * 3, (60 + 0)  * 3 },
        { 10  * 3, (60 + 0)  * 3 },
};
GUI_POINT aPointDst[GUI_COUNTOF(aPointSrc)];
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106882
QQ
发表于 2022-9-30 00:32:34 | 显示全部楼层
这样也行,还省事
回复

使用道具 举报

1

主题

24

回帖

27

积分

新手上路

积分
27
发表于 2022-10-21 14:45:36 | 显示全部楼层
eric2013 发表于 2022-9-29 10:09
用存储设备的旋转函数更方便,就是要占用一定的RAM空间

6.24的imgae_setangle 不知道试过没有,这个按说可以实现图片选转,我实验了一下,只要一更改角度,就会图片不见了
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106882
QQ
发表于 2022-10-22 13:04:42 | 显示全部楼层
murphy 发表于 2022-10-21 14:45
6.24的imgae_setangle 不知道试过没有,这个按说可以实现图片选转,我实验了一下,只要一更改角度,就会图片 ...

这个没试过,之前做了一个时钟表盘的,旋转图片实现的

第3版emWin教程发布炫酷时钟设计章节教程,结合硬件RTC,指针采用透明图旋转,做成了独立窗口,方便大家移植修改各炫酷样式
https://www.armbbs.cn/forum.php?mod=viewthread&tid=111747

image.png
回复

使用道具 举报

1

主题

24

回帖

27

积分

新手上路

积分
27
发表于 2022-10-25 13:51:50 | 显示全部楼层
eric2013 发表于 2022-10-22 13:04
这个没试过,之前做了一个时钟表盘的,旋转图片实现的

第3版emWin教程发布炫酷时钟设计章节教程,结合 ...

這個圖片素材有沒有
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106882
QQ
发表于 2022-10-25 14:00:29 | 显示全部楼层
murphy 发表于 2022-10-25 13:51
這個圖片素材有沒有

下载对应的例子,Doc文件夹里面有。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-8 21:29 , Processed in 0.331582 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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