ios - 如何用CoreGraphics画一张中间透明边缘不透明的image
天蓬老师
天蓬老师 2017-04-18 09:13:09
[iOS讨论组]

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

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(3)
PHP中文网

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

大家讲道理

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

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

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

CGContextAddPath(context, path.CGPath);
CGContextFillPath(context);
阿神

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号