CALayer Antialiasing不如UIView抗锯齿

 宫廷的围脖6uw_1911 发布于 2023-01-31 03:11

我一直在尝试使用CALayer制作圆形绘图动画.这一切都运作良好,但问题是 - 绘制圆圈不足以抗锯齿.边框有点过于粗糙(如果使用栅格化,则会模糊).(启用AntiAliasing)

也尝试过:

edgeAntialiasingMask = kCALayerLeftEdge | kCALayerRightEdge | kCALayerBottomEdge | kCALayerTopEdge;

无济于事.

这是一个没有光栅化的样子: 在此输入图像描述

以下是光栅化的示例:(尝试从1.0到4.0的值(只是为了确定.结果 - 相同.))

在此输入图像描述

这是同一个圆圈,但是在UIView中绘制的是:

在此输入图像描述

你可以看到,使用UIView drawrect绘制的圆圈看起来好多了.

我不能使用UIView的原因是因为我需要动画圆填充.使用CALayer非常简单,但是要在UIView上做同样的事情,我真的不知道它是否可能.(我可以尝试启动drawrect:每1/60秒,但我认为它会变得迟钝,因为它不是那样的).

那么 - 有没有人有任何解决方案如何在CALayer上绘制圆圈/线条与UIView上绘制的相同?

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有