CoreGraphicsExtension 0.4.2

CoreGraphicsExtension 0.4.2

Chen-Hai Teng 维护。



  • 作者
  • Chen-Hai Teng

CoreGraphicsExtension GitHub

一个为CoreGraphics提供极坐标功能的库

安装

CocoaPods

CoreGraphicsExtension可通过 CocoaPods 获得。要安装它,只需将以下行添加到您的Podfile中

pod 'CoreGraphicsExtension'

Swift Package Manager

添加到Xcode

  1. 文件 > Swift Packages > 添加包依赖...
  2. 选择您要添加CoreGraphicExtension的项目
  3. 粘贴存储库 https://github.com/chenhaiteng/CoreGraphicsExtension.git
  4. 规则 > 版本:次大版本0.3.1,也可以应用规则 > 分枝 : 主以访问最新代码。

注意:可能需要手动将CoreGraphicsExtension链接到您的目标。

  1. 通过轻击项目导航器的根选择项目编辑器
  2. 选择要使用CoreGraphicsExtension的目标。
  3. 选择 编译阶段,展开 链接二进制与库
  4. 轻击 + 按钮,选择CoreGraphics来添加它。

添加到SPM包

dependencies: [
    .package(name: "CoreGraphicsExtension", url: "https://github.com/chenhaiteng/CoreGraphicsExtension.git", from: "0.3.1")
],
targets: [
    .target(
        name: "MyPackage",
        dependencies: ["CoreGraphicsExtension"]),
]

特性

CGAngle

CGFloat的别名,并假设其单位为弧度。它还提供转换弧度和度数的函数。

用法

// Create CGAngle
let rightAngle = CGAngle.pi/2
let rightAngle2 = CGAngle.degrees(90.0)
let rightAngle3 = CGAngle.radians(CGFloat.pi/2)
let rightAngle4 = CGAngle.radians(Double.pi/2)

// Compare CGAngle with floating numbers in different unit. 
XCTAssertEqual(rightAngle, CGFloat.pi/2)
XCTAssertEqual(rightAngle.degrees, 90)
XCTAssertEqual(rightAngle.radians, CGFloat.pi/2)

CGPolarPoint

一个结构,用于显示极坐标中的点。提供方便的方法将其转换为笛卡尔坐标(即直角坐标系)。

用法

// Create polar point
let originPt = CGPolarPoint.zero
let upPoint = CGPolarPoint(radius: CGFloat(1), angle: CGAngle.pi/2)
let rightUpPoint = CGPolarPoint(radius: CGFloat(sqrt(2)), angle: CGAngle.pi/4)

// Get point in rectangular coordinate:
let rectPt = rightUpPoint.cgpoint

CGPoint(偏移)

在CGPoint上应用方便的偏移函数和操作符(>>)

用法

let basePt = CGPoint.zero

// Offset the base point by a CGPoint.
let offsetPt = CGPoint(x: 1, y: 1)
XCTAssertEqual(basePt.offset(by: offsetPt), offsetPt)
XCTAssertEqual(basePt >> offsetPt, offsetPt)

// Offset the base point by a CGSize.
let offsetSize = CGSize(width: 1, height: 1)
XCTAssertEqual(basePt.offset(by: offsetSize), offsetPt)
XCTAssertEqual(basePt >> offsetSize, offsetPt)

// Offset the base point by specified dx and dy
XCTAssertEqual(basePt.offset(dx: 1, dy: 1), offsetPt)
XCTAssertEqual(basePt >> (1, 1), offsetPt)

CGRect(偏移)

在CGRect上应用方便的偏移操作符(>>)

用法

let baseRect = CGRect(origin: .zero, size: CGSize(width: 100, height: 120))

// Offset the rect by CGPoint
let offsetPt = CGPoint(x: 1, y: 1)
XCTAssertNotEqual((baseRect >> offsetPt).origin, baseRect.origin)
XCTAssertEqual((baseRect >> offsetPt).origin, offsetPt)
XCTAssertEqual((baseRect >> offsetPt).size, baseRect.size)

// Offset the rect by CGSize
let offsetSize = CGSize(width: 1, height: 1)
XCTAssertEqual((baseRect >> offsetSize).origin, offsetPt)
XCTAssertEqual((baseRect >> offsetSize).size, baseRect.size)

// Offset the rect by specified dx, dy.
XCTAssertEqual((baseRect >> (1, 1)).origin, offsetPt)
XCTAssertEqual((baseRect >> (1, 1)).size, baseRect.size)

CGRect(拟合正方形)

创建一个派生的正方形矩形,其缩放以适应其源矩形,并且以相同的中心点。

用法

let originRect = CGRect(origin: .zero, size: CGSize(width: 100, height: 120))
XCTAssertEqual(originRect.fitSquare(), CGRect(x: 0, y: 10, width: 100, height: 100))

CGRect(中心)

一个计算变量,返回矩形的当前中心。

用法

let rect = CGRect(origin: .zero, size: CGSize(width: 100, height: 120))
let center = rect.center

许可协议

CoreGraphicsExtension在 MIT许可协议 下发布。

如果您觉得这个库很有用,一杯咖啡能帮它走得更远。