硬汉嵌入式论坛

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

[emWin] 关于画抗锯齿弧线函数的一个奇怪现象

[复制链接]

5

主题

279

回帖

294

积分

高级会员

积分
294
发表于 2019-8-24 14:28:42 | 显示全部楼层 |阅读模式
本帖最后由 DX3906 于 2019-8-24 14:30 编辑

我发现GUI_AA_DrawArc这函数有个奇怪现象。就是如果只调用一次这个函数绘制一条弧线,那么没什么问题,但是如果通过重复调用来绘制同样形状的弧线,就没有抗锯齿效果了,模拟器上和板子上结果都一样。很奇怪,也不知道是不是我代码的问题。


下面是我的代码:void MainTask(void)
{
        int i = 0;

        GUI_Init();

        GUI_SetBkColor(GUI_BLACK);
        GUI_Clear();

        GUI_AA_SetFactor(6);

        GUI_SetPenSize(10);
        GUI_SetColor(GUI_WHITE);
        GUI_AA_DrawArc(250, 150, 100, 100, 0, 200);
        for (i = 0; i <= 200; i++)
        {
                GUI_AA_DrawArc(490, 150, 100, 100, 0, i);
        }
        while (1)
        {
                GUI_Delay(100);
        }
}



这是模拟器上的效果,左边是单次调用的,右边是重复调用的,很明显能看到右边的弧线没有抗锯齿效果。
QQ截图20190824142436.png

回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117619
QQ
发表于 2019-8-24 15:07:58 | 显示全部楼层
每次绘制前清除下背景试试
回复

使用道具 举报

5

主题

279

回帖

294

积分

高级会员

积分
294
 楼主| 发表于 2019-8-26 09:19:45 | 显示全部楼层
eric2013 发表于 2019-8-24 15:07
每次绘制前清除下背景试试

抱歉现在才回。我后来试了一下清背景,果然就没问题。但是为什么呢?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117619
QQ
发表于 2019-8-26 09:20:58 | 显示全部楼层
DX3906 发表于 2019-8-26 09:19
抱歉现在才回。我后来试了一下清背景,果然就没问题。但是为什么呢?

用到了读像素,他应该是读取背景了
回复

使用道具 举报

22

主题

128

回帖

194

积分

初级会员

积分
194
发表于 2019-9-26 20:56:44 | 显示全部楼层
是重复抗锯齿了,没清原来的弧,读到的背景会是上次画出来的弧。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-18 22:19 , Processed in 0.039800 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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