我可以在 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
}
当我尝试在 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
}