当前位置: 首页 > 编程笔记 >

iOS 如何使用UIBezierPath创建简单的形状

颛孙建业
2023-03-14
本文向大家介绍iOS 如何使用UIBezierPath创建简单的形状,包括了iOS 如何使用UIBezierPath创建简单的形状的使用技巧和注意事项,需要的朋友参考一下

示例

对于一个简单的圈子:

UIBezierPath* ovalPath = [UIBezierPath bezierPathWithOvalInRect: CGRectMake(0,0,50,50)];
[UIColor.grayColor setFill];
[ovalPath fill];

迅速:

let ovalPath = UIBezierPath(ovalInRect: CGRect(x: 0, y: 0, width: 50, height: 50))
UIColor.grayColor().setFill()
ovalPath.fill()

对于一个简单的矩形:

UIBezierPath* rectanglePath = [UIBezierPath bezierPathWithRect: CGRectMake(0,0,50,50)];
[UIColor.grayColor setFill];
[rectanglePath fill];

迅速:

let rectanglePath = UIBezierPath(rect: CGRect(x: 0, y: 0, width: 50, height: 50))
UIColor.grayColor().setFill()
rectanglePath.fill()

对于简单的一行:

UIBezierPath* bezierPath = [UIBezierPath bezierPath];
[bezierPath moveToPoint: CGPointMake(x1,y1)];
[bezierPath addLineToPoint: CGPointMake(x2,y2)];
[UIColor.blackColor setStroke];
bezierPath.lineWidth = 1;
[bezierPath stroke];

迅速:

let bezierPath = UIBezierPath()
bezierPath.moveToPoint(CGPoint(x: x1, y: y1))
bezierPath.addLineToPoint(CGPoint(x: x2, y: y2))
UIColor.blackColor().setStroke()
bezierPath.lineWidth = 1
bezierPath.stroke()

半圈:

 CGRect ovalRect = CGRectMake(x,y,width,height);
UIBezierPath* ovalPath = [UIBezierPath bezierPath];
[ovalPath addArcWithCenter: CGPointMake(0, 0) radius: CGRectGetWidth(ovalRect) / 2 startAngle: 180 * M_PI/180 endAngle: 0 * M_PI/180 clockwise: YES];
[ovalPath addLineToPoint: CGPointMake(0, 0)];
[ovalPath closePath];

CGAffineTransform ovalTransform = CGAffineTransformMakeTranslation(CGRectGetMidX(ovalRect), CGRectGetMidY(ovalRect));
ovalTransform = CGAffineTransformScale(ovalTransform, 1, CGRectGetHeight(ovalRect) / CGRectGetWidth(ovalRect));
[ovalPath applyTransform: ovalTransform];

[UIColor.grayColor setFill];
[ovalPath fill];

迅速:

let ovalRect = CGRect(x: 0, y: 0, width: 50, height: 50)
let ovalPath = UIBezierPath()
ovalPath.addArcWithCenter(CGPoint.zero, radius:ovalRect.width/ 2, startAngle: 180 * CGFloat(M_PI)/180, endAngle: 0 * CGFloat(M_PI)/180, clockwise: true)
ovalPath.addLineToPoint(CGPoint.zero)
ovalPath.closePath()

var ovalTransform = CGAffineTransformMakeTranslation(CGRectGetMidX(ovalRect), CGRectGetMidY(ovalRect))
ovalTransform = CGAffineTransformScale(ovalTransform, 1,ovalRect.height/ ovalRect.width)
ovalPath.applyTransform(ovalTransform)

UIColor.grayColor().setFill()
ovalPath.fill()

对于一个简单的三角形:

UIBezierPath* polygonPath = [UIBezierPath bezierPath];
[polygonPath moveToPoint: CGPointMake(x1, y1)];
[polygonPath addLineToPoint: CGPointMake(x2, y2)];
[polygonPath addLineToPoint: CGPointMake(x3, y2)];
[polygonPath closePath];
[UIColor.grayColor setFill];
[polygonPath fill];

迅速:

let polygonPath = UIBezierPath()
polygonPath.moveToPoint(CGPoint(x: x1, y: y1))
polygonPath.addLineToPoint(CGPoint(x: x2, y: y2))
polygonPath.addLineToPoint(CGPoint(x: x3, y: y3))
polygonPath.closePath()
UIColor.grayColor().setFill()
polygonPath.fill()
           

 类似资料:
  • 本文向大家介绍iOS 如何将拐角半径应用于UIBezierPath绘制的矩形,包括了iOS 如何将拐角半径应用于UIBezierPath绘制的矩形的使用技巧和注意事项,需要的朋友参考一下 示例 所有4条边的角半径: 左上边缘的拐角半径: 右上角的拐角半径: 左下边缘的拐角半径: 右下角的拐角半径: 底边的拐角半径: 上边缘的拐角半径:            

  • 问题内容: 我有一个带有一堆链接的网页。我想编写一个脚本,将所有链接中包含的所有数据转储到本地文件中。 有没有人用PHP做到这一点?一般准则和陷阱就可以作为答案。 问题答案: 这是受Tatu启发的DOM版本: 编辑: 我修复了Tatu版本的一些错误(现在可以使用相对URL)。 编辑: 我添加了新的功能,以防止它两次跟踪相同的URL。 编辑: 现在将输出回显到STDOUT,以便您可以将其重定向到所需

  • 问题内容: 我正在寻找一个简单的示例代码或完整的教程,以了解如何使用Apache POI及其底层文件创建文件。 我尝试下面的代码(有 很多 从内容的帮助,协助,感谢Eclipse的!),但代码不能正常工作。 引发的异常如下: 有人可以帮助我解决我的要求吗? 问题答案: 这是使用POI创建简单的docx文件的方法:

  • 问题内容: 我在使用XML创建简单的圆角矩形时遇到麻烦。每当我尝试将“ corners”元素添加到自定义形状时,都会得到: java.lang.UnsupportedOperationException(位于android.graphics.Path.addRoundRect(Path.java:514)(位于android.graphics.drawable.GradientDrawable.d

  • 本文向大家介绍如何使用JavaScript创建SVG图形?,包括了如何使用JavaScript创建SVG图形?的使用技巧和注意事项,需要的朋友参考一下 所有现代浏览器均支持SVG,您可以使用JavaScript轻松创建它。Google Chrome和Firefox均支持SVG。 使用JavaScript创建一个空白的SVG文档对象模型(DOM)。使用属性创建形状,例如圆形或矩形。

  • 我所拥有的只是WS服务器的url和授权字符串令牌。 稍后,我必须能够向该连接发送请求,监听来自WS服务器的即将到来的数据,并关闭连接。我对这个新的WS世界有困难,总是只使用REST(也使用okhttp3)