100 Days of SwiftUI —— Day 44:绘图(二)

100 Days of SwiftUI —— Day 44:绘图(二)_第1张图片

今天,我们将通过增加一些创意来继续研究SwiftUI的绘图系统,我想您会感到惊讶的是,仅通过将大多数已知知识与两种新技术结合起来,就能非常容易地制作出令人着迷的东西。

今天,您还将遇到drawingGroup()修饰符,该修饰符使我们可以将视图渲染结合到一起,并由Apple的高性能图形API Metal提供支持。过去,很多人问我是否打算写一本有关Metal的书,答案是肯定不会——不仅仅已经有很好的书了,而且要想从API中获得任何好处也非常困难。

那不是因为Metal不好——相信我,这太不可思议了!——而是因为苹果最好的工程师在与Metal一起工作时尽了最大努力使SwiftUI尽可能高效,而且坦率地说,我极不可能做得更好。

您会发现,切换Metal并不是一件经常需要的事情,即使很容易做到。著名的软件开发人员肯特·贝克(Kent Beck)曾经说过,我们的流程应该是“使其正常运行,正确,快速”,他的观点是正确的。但是,如果您发现无需切换到Metal即可快速进行绘图,那么通常最好保持原样。

无论如何,聊了足够多了,我说过我们会做点令人兴奋的事情,让我们开始吧!

今天,您需要处理三个主题,在这些主题中,您将了解CGAffineTransformImagePaintdrawingGroup()等。

  • SwiftUI:使用 CGAffineTransform 和奇偶填充来变换形状

  • SwiftUI: 使用 ImagePaint 制作边框和填充

  • SwiftUI:启用高性能 Metal 渲染

你可能感兴趣的:(100 Days of SwiftUI —— Day 44:绘图(二))