iOS 绘制圆角矩形
在 UIView 层 可以通过设置 layer 的 cornerRadius
来设置圆角。
也可通过 Layer 层设置 带圆角的maskLayer
来设置圆角。
那如果在 UIView 的 draw(rect)
方法中如何通过 CGContext 来绘制圆角了?
可以定义以下方法在 drawRect: 方法中调用
- (void)drawRoundRect:(CGRect)rect radius:(CGFloat)radius context:(CGContextRef)context {float x1=rect.origin.x;float y1=rect.origin.y;float x2=x1+rect.size.width;float y2=y1;float x3=x2;float y3=y1+rect.size.height;float x4=x1;float y4=y3;CGContextMoveToPoint(context, x1, y1+radius);CGContextAddArcToPoint(context, x1, y1, x1+radius, y1, radius);CGContextAddArcToPoint(context, x2, y2, x2, y2+radius, radius);CGContextAddArcToPoint(context, x3, y3, x3-radius, y3, radius);CGContextAddArcToPoint(context, x4, y4, x4, y4-radius, radius);CGContextClosePath(context);
}
CGContextAddArcToPoint
绘制圆弧的方法之一
void CGContextAddArcToPoint(CGContextRef c, CGFloat x1, CGFloat y1, CGFloat x2, CGFloat y2, CGFloat radius)
参数示意图如下:
P1 是当前路径所在的点,坐标是(x,y)
P1(x,y)和(x1,y1)构成切线1,(x1,y1)和(x2,y2)构成切线2, r 是上面函数中的radius, 红色的线就是CGContextAddArcToPoint绘制的曲线. 它不会画到 (x2, y2)这个点, 绘制到圆弧的终点就会停止.
iOS 绘制圆角矩形相关推荐
- android绘制圆角矩形
android中可以绘制圆角矩形. 1.利用画布cavas绘制 如果提供了一个方法可以在画布上绘制圆角矩形: 函数名称:public void drawRoundRect (RectF rect, f ...
- 绘制圆角矩形(方法 )
/* sharecodes.org 友情提醒:尊重知识,转载请注明原创作者.出处! */ /// <summary> /// C# GDI+ 绘制圆角矩形 /// </summary ...
- JavaScript 使用canvas绘制圆角矩形边框
目录 分析 完整代码如下 前言 在react项目中需要用到绘制矩形填充, 因为直角矩形不够美观, 需要绘制圆角填充矩形 分析 Canvas并没有提供绘制圆角矩形的方法,但是通过观察,我们可以发现,其实 ...
- 微信小程序使用canvas绘制圆角矩形在Android:变形、锯齿
这两天用小程序实现分享生成海报,那我的手机测的一直没问题,结果后来用同事的小米测发现:画的图形缺个角,锯齿形的,根据小程序社区回复:使用ctx.arc + ctx.lineTo就能避免Android错 ...
- GDI+绘制圆角矩形
1.最近,用到GDI+绘图,但是发现没有绘制圆角矩形的函数,故自己写了一个.下面贴出原理和代码,以作备份. 2.要绘制圆角矩形,基础是普通的直角矩形,需要做的就是将直角画成弧形. 3.绘制圆角矩形可以 ...
- canvas绘图,绘制圆角矩形。圆角线条。圆形头像
//绘制圆角矩形 //x.x坐标,y,y轴坐标.width宽 height高 radius圆角(一定不能大于height的一半,否则不显示) fillColor填充颜色.borderColor线 ...
- php 绘制圆角矩形,快速绘制圆角矩形的三种方法 - 行业动态 - 济南新视觉实训基地-平面UI设计PS培训,室内设计,web前端,影视3D动画后期制作培训...
圆角矩形可谓是UI设计中,我们最常见到的元素之一了,通过圆角矩形工具去绘制的圆角过于普通,且略显呆板,缺少吸引力.今天新视觉实训就给大家分享三种绘制圆角矩形的方法,让我们在千篇一律的圆角矩形中找寻一些 ...
- 咸鱼菌CAD实战—绘制圆角矩形
咸鱼菌CAD实战-绘制圆角矩形 设计中一般使用圆角使产品看起来更舒服一些,今天我们来绘制一个圆角矩形. 方法如下: 绘制矩形 使用快捷键F,进入倒圆角工具.或者在工具栏中选择倒圆角工具 按R键进入半径 ...
- GDI 绘制圆角矩形
代码从网上搜集 #region 圆角矩形/// /// 最大圆角半径/// protected const int MaxRoundRadius = 3;/// /// 最小矩形边长,用于自动处理圆角 ...
最新文章
- Jvm 系列(三):GC 算法 垃圾收集器
- SQL-23 对所有员工的当前(to_date='9999-01-01')薪水按照salary进行按照1-N的排名,相同salary并列且按照emp_no升序排列...
- UIScrollView控件常用属性
- glob及IO重定向
- qsort(bsearch,lsearch)—标准库排序,查找
- 前端基础-html-表格的结构标签(了解)
- NHMicro业务脚本热部署快速开发框架介绍
- android 协程,Android 上的 Kotlin 协程
- python如何保存列表_python中数据的保存
- invalid LOC header(bad signature)错误及解决
- css选择器优先顺序
- IEC61850报告服务(报文解析)
- 巴特沃斯低通滤波器 matlab,利用matlab设计巴特沃斯低通滤波器
- MySQL读写分离的三种实现方案
- uniapp接收服务器消息,uniapp如何请求服务器数据
- USB Still Image Capture设备类
- 新一代HTAP数据库崛起,MySQL生态的最佳归宿?
- 如何写一份优秀的投资计划书
- 金属学复习【5】--- 金属及合金的塑性变形与再结晶
- 正在完成android更新三星,手机实时动态:这些都是三星手机正在获取Android 10