如何用CoreGraphics画一张中间透明边缘不透明的image

发布于 09-02 20:51 字数 77 浏览 18 评论 0

例如我需要一张白色但是中间有一个透明的圆的图片来覆盖在图片上处理圆角头像的问题,该怎么绘制才能得出这张图片呢,我并不想直接把头像绘制成圆形。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

如何视而不见2022-09-09 20:51:14

自己来答吧,用CGContextClearRect这个函数就妥妥解决了,哈哈

樱花落人离去2022-09-09 20:51:14

楼主的答案不错,我再提供一个思路。贝塞尔曲线。

贝塞尔曲线 顺指针 是fill,逆时针是clip。
所以可以将中间你需要的地方加一个逆时针的path。这个的好处是,你中间扣个啥都可以实现了!五角星,还是圆角矩形。

UIBezierPath *path = [UIBezierPath bezierPathWithRect:self.bounds];
UIBezierPath *clipPath = [[UIBezierPath bezierPathWithRect:clipFrame] bezierPathByReversingPath];
[path appendPath:clipPath];

CGContextAddPath(context, path.CGPath);
CGContextFillPath(context);
若言繁花未落2022-09-09 20:51:14

你可以用九宫格的方式,中间一个正方形的view做成透明的,其余的view是白色的

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文