ios - 如何绘制CGPoint数组

标签 ios objective-c multithreading

要从 CGPoint 数组画一条线,我可以从空的 beizer 路径开始并使用 -moveToPoint 和 -addCurveToPoint,我可以轻松地画一条线。

但是有没有办法直接在UIView上画点呢? 假设我想在 {5,5} 处画一个红色的点。假设我的路径描边颜色已经是红色。添加这两行是否符合我的目的,或者请建议我可以做些什么来在 {5,5}

处画一个点
[path moveToPoint:{5,5}];
[path addLineToPoint:{5,5}]; 

最佳答案

仔细想想,我们人类所说的“点”其实就是一个非常小的圆圈。因此,要在屏幕上实际绘制一个点,您需要使用 UIBezierPathinit(ovalIn:) 初始化程序。

这是一个例子:

    let dotPath = UIBezierPath(ovalIn: CGRect(x: 2.5, y: 2.5, width: 5, height: 5))
    UIColor.red.setFill()
    dotPath.fill()

请注意,x 和 y 值不是 (5,5)。这是因为这里的 x 和 y 表示圆的左上角。所以你需要做一些数学来找出答案。您只需从圆心的 x 和 y 值中减去半径。

您可以循环遍历数组并将每个数组绘制成这样。

关于ios - 如何绘制CGPoint数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48557603/

相关文章:

iOS swift 。自日期以来的时间

ios - 如何在 subview 的中心绘制

android - 我们什么时候应该开始将 Fabric 的 Crashlytics 迁移到 Firebase Crashlytics?

iphone - 如何在 iPhone 中以编程方式将图像旋转 90 度?

c++ - 变量、指针、对象和内存地址 : Why do I get this strange result?

iphone - if(obj && obj != nil) 是否正确且必要?

ios - Xcode 模拟器 : how to remove older unneeded devices?

c++ - 使用 MFC,将变量与消息一起发布到线程

java - 设计模式: multiple swing interfaces listen for thread variable

java - 使用 7 个线程生成无限数字序列