SwiftGraphics 0.0.4

SwiftGraphics 0.0.4

测试测试
语言语言 SwiftSwift
许可证 BSD
发布最后发布2015年3月
SPM支持 SPM

张宇归 维护。



  • 作者:
  • 乔纳森·怀特

重要

所有开发都在 develop 分支 上进行。代码很少合并到 master 分支。

另外,注意该项目正迁移到 Swift 1.2,它需要 Xcode 6.3 和 Mac OS X 10.10。请注意,此更改破坏了 Travis CI

将 Swift 的优点带给 Quartz

见本文件中的“招领区”部分,了解您如何为 SwiftGraphics 贡献。

设计理念

封装 Quartz(以及其他相关框架,如 CoreImage)在一个漂亮的“Swifthonic” API 中。

提供封装器和运算符,以便尽可能方便地使用 Swift 中的图形原语。

包含内容

  • 对 CoreGraphics 类型进行实用的运算符重载,包括:CGPoint、CGSize、CGRect、CGAffineTransform
  • 对 CGContext 的面向对象扩展(包括轻松创建位图上下文)、CGPath
  • 一个贝塞尔曲线对象,可以表示任意次的曲线(包括二次和三次曲线)
  • 一个代表贝塞尔路径的路径对象——可以通过比 CGPath 或 NSBezierPath 更自然的方式创建和操作路径
  • 提供了完整的几何对象(三角形、椭圆等),允许创建和自省。
  • 生成凸包
  • 四叉树数据结构
  • 泊松球(扫方算法)实现

Convex Hull Screenshot Metaballs Screenshot QuadTree Screenshot Ellipse Screenshot

进行中

所有这些代码都是非常多的 工作正在进行。 我根据需要添加和更改功能。因此,我尽量不添加不必要的代码(有例外)。

项目结构

SwiftGraphics 由以下组成

  • 两个 SwiftGraphics 动态框架(一个用于 iOS,一个用于 macOS),
  • 一个仅限 macOS 的 SwiftGraphicsPlayground 框架(包含在 Playgrounds 中通常有用的代码)
  • Playground 文件夹
  • 一个名为“SwiftGraphics_OSX_UITest”的 macOS 测试床应用,它突出了更多交互式代码
  • 单元测试目标

安装

您可以通过以下方式之一将 SwiftGraphics 添加到项目中

  • 将SwiftGraphics.xcodeproj添加到您的项目中,并适当设置依赖项。您可以通过打开终端尝试输入以下命令将SwiftGraphics作为子模块添加:

    git submodule add https://github.com/schwa/SwiftGraphics.git
  • 使用Carthage安装(推荐)

    1. 将以下内容添加到您的项目Cartfile中:
    2. 运行carthage update以下载和构建SwiftGraphics。
    3. 将SwiftGraphics.framework拖动到您的项目中并进行链接。
  • 使用CocoaPods(版本0.36.0+)安装,并将以下内容添加到您的项目Podfile中

    platform :ios, '8.0'
    use_frameworks!
    pod 'SwiftGraphics/iOS'
    

    platform :osx, '10.9'
    use_frameworks!
    pod 'SwiftGraphics/OSX'
    

使用方法

SwiftGraphics构建iOS和OS X框架。只需将SwiftGraphics.xcodeproj添加到您的项目并适当设置依赖项即可。

您可以在Xcode 6 Playgrounds中使用SwiftGraphics进行实验。重要在尝试运行任何Playgrounds之前,请确保编译了SwiftGraphicsPlayground目标。

寻求帮助

欢迎您提供帮助。我肯定会赞赏来自Swift/Cocoa社区其他成员的贡献。请分叉此项目并提交pull requests。

您可以通过在项目中使用Swift Graphics并发现其缺点来提供帮助。我鼓励您为此项目提交问题

以下领域欢迎贡献

  • 头部文档注释,说明函数的功能
  • 单元测试
  • 显示SwiftGraphics功能图形表现的Playgrounds
  • 新图形算法(从维基百科中选择)
  • 新几何结构

代码生命周期

所有开发都在develop分支上完成。新代码以Playground或houseSwiftGraphics_OSX_UITest应用程序目标中的标签形式开始。

当代码证明是有用的,它就被添加到SwiftGraphicsPlayground目标中,并与所有Playgrounds共享。

如果代码通常有用,则可以直接将其移动到SwiftGraphics目标。

许可

有关更多信息,请参阅LICENSE。