我可以在 watchOS 3 上将 UIGraphicsImageRenderer 与 WatchKit 一起使用吗?

Can I use UIGraphicsImageRenderer with WatchKit on watchOS 3?

当我尝试在 watchOS 应用程序中使用 UIGraphicsImageRenderer 时,编译器抛出错误。 entry in the documentation 看起来只在 iOS 和 tvOS 中可用。你知道为什么会这样吗?

import WatchKit

struct ImageGenerator() {
  func image() -> UIImage {
    let format = UIGraphicsImageRendererFormat() // ERROR
    format.scale = 1
    format.opaque = true

    let renderer = UIGraphicsImageRenderer(size: size, format: format) // ERROR
    let image = renderer.image { imageRendererContext in
      // ...
    }
  }
}

UIGraphicsImageRenderer 在 watchOS 上不可用。但是,您仍然可以在 watchOS 上使用旧版渲染 API:

func image() -> UIImage {
    UIGraphicsBeginImageContextWithOptions(yourImageSize, isOpaque, scale)
    defer { UIGraphicsEndImageContext() }
    let context = UIGraphicsGetCurrentContext()! 

    // draw your image at here...

    return UIGraphicsGetImageFromCurrentImageContext()! // get image
}