硬汉嵌入式论坛

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

[emWin] emwin抗锯齿画的圆、和粗直线为啥会有缺口?

[复制链接]

1

主题

8

回帖

11

积分

新手上路

积分
11
发表于 2020-6-13 10:27:21 | 显示全部楼层 |阅读模式

画直线

画直线

画圆

画圆

  1. int AAFactorOld;

  2.         AAFactorOld = GUI_AA_GetFactor();
  3.         GUI_AA_EnableHiRes();
  4.         GUI_AA_SetFactor(CLOCK_AA_FACTOR);

  5.         r = pHandAnalogClock->length + (pHandAnalogClock->handOffset > 0 ? 0 : pHandAnalogClock->handOffset);
  6.         endX = centerX + ((GUI__CosHQ(angle) * r) >> 16);
  7.         endY = centerY + ((GUI__SinHQ(angle) * r) >> 16);
  8.         startX = centerX + ((GUI__CosHQ(angle) * pHandAnalogClock->handOffset) >> 16);
  9.         startY = centerY + ((GUI__SinHQ(angle) * pHandAnalogClock->handOffset) >> 16);

  10.         GUI_SetBkColor(GUI_RED);
  11.         GUI_SetColor(pHandAnalogClock->color1);
  12.         GUI_AA_FillCircle(centerX, centerY, pHandAnalogClock->centerCircleR);
  13.         GUI_SetPenSize(pHandAnalogClock->width1);
  14.         GUI_AA_DrawLine(startX, startY, endX, endY);

  15.         GUI_AA_DisableHiRes();
  16.         GUI_AA_SetFactor(AAFactorOld);
复制代码
仿真器和实际的屏幕上显示的一样,也有缺口。都不知道哪里出问题了,谢谢各位指点指点
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107148
QQ
发表于 2020-6-13 10:50:29 | 显示全部楼层
你说的是加粗后,首尾突出的地方吗。
回复

使用道具 举报

1

主题

8

回帖

11

积分

新手上路

积分
11
 楼主| 发表于 2020-6-13 14:35:16 | 显示全部楼层
eric2013 发表于 2020-6-13 10:50
你说的是加粗后,首尾突出的地方吗。

对,红框框里面的
回复

使用道具 举报

7

主题

85

回帖

111

积分

初级会员

积分
111
发表于 2020-6-13 15:05:30 | 显示全部楼层
你试下一直都使能高分辨率,还有抗锯齿也固定不变,不要频繁的使能与禁止
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107148
QQ
发表于 2020-6-13 15:37:39 | 显示全部楼层
正常是这样的,后面的6.1x新增了环形控件,可以设置末端带形状
4.png
回复

使用道具 举报

1

主题

8

回帖

11

积分

新手上路

积分
11
 楼主| 发表于 2020-6-13 17:05:54 | 显示全部楼层
eric2013 发表于 2020-6-13 15:37
正常是这样的,后面的6.1x新增了环形控件,可以设置末端带形状

我这个不是6.1x,是5.x,是ARC的两端自己加两个圆,救出现这个情况
回复

使用道具 举报

1

主题

8

回帖

11

积分

新手上路

积分
11
 楼主| 发表于 2020-6-13 17:06:27 | 显示全部楼层
JIKIMO 发表于 2020-6-13 15:05
你试下一直都使能高分辨率,还有抗锯齿也固定不变,不要频繁的使能与禁止

好的,我试试
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107148
QQ
发表于 2020-6-13 20:32:59 | 显示全部楼层
huangguimin 发表于 2020-6-13 17:05
我这个不是6.1x,是5.x,是ARC的两端自己加两个圆,救出现这个情况

加粗展示后绘制线条就是这样的。
回复

使用道具 举报

21

主题

125

回帖

188

积分

初级会员

积分
188
发表于 2020-6-17 12:58:42 | 显示全部楼层
这个跟圆心的坐标有点关系,并不是所有地方的圆都会有缺口。这个GUI_AA_FillCircle函数你能改么,把它从由圆心往两边(上下)画,改为从上往下画,会有帮助。
回复

使用道具 举报

1

主题

8

回帖

11

积分

新手上路

积分
11
 楼主| 发表于 2020-6-18 00:52:43 | 显示全部楼层
kirito 发表于 2020-6-17 12:58
这个跟圆心的坐标有点关系,并不是所有地方的圆都会有缺口。这个GUI_AA_FillCircle函数你能改么,把它从由 ...

没有源码,使用的是库,改不了呀,都不知道怎么搞了
回复

使用道具 举报

3

主题

7

回帖

16

积分

新手上路

积分
16
发表于 2020-9-14 16:41:06 | 显示全部楼层
楼主,问题解决了么?我也遇到了这个问题C:\1.png
回复

使用道具 举报

1

主题

8

回帖

11

积分

新手上路

积分
11
 楼主| 发表于 2020-9-14 22:43:21 | 显示全部楼层
Kevin_Tian 发表于 2020-9-14 16:41
楼主,问题解决了么?我也遇到了这个问题

没解决呢        
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107148
QQ
发表于 2020-9-15 00:57:53 | 显示全部楼层

使用MDK安装目录里面的6.1x
回复

使用道具 举报

1

主题

8

回帖

11

积分

新手上路

积分
11
 楼主| 发表于 2020-9-15 22:42:56 | 显示全部楼层
eric2013 发表于 2020-9-15 00:57
使用MDK安装目录里面的6.1x

好的,有空试试,谢谢哈
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-20 15:20 , Processed in 0.207246 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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