UIGraphicsImageRenderer

UIGraphicsImageRenderer

默认情况下,UIGraphicsImageRenderer将缩放比例设置为设备的屏幕比例,在iPhone 6s上为2x,在iPhone 6s Plus 3x上,因此,即使您给定尺寸为300的尺寸,它也会根据正在使用的设备将其创建为600或900。用过的。如果要确保始终为300,如何设置刻度?

let outputBounds = CGRect(x: 0, y: 0, width: 300, height: 300)
let renderer = UIGraphicsImageRenderer(bounds: outputBounds)
let image = renderer.image { context in
     //...
}

以前,您可以通过此处的最后一个参数设置比例尺:UIGraphicsBeginImageContextWithOptions(bounds.size, false, 1)

最佳答案

创建UIGraphicsImageRendererFormat时,应使用UIGraphicsImageRenderer类。如果要写精确的像素而不是缩放的点,请使用以下方法:

let format = UIGraphicsImageRendererFormat()
format.scale = 1

let renderer = UIGraphicsImageRenderer(size: yourImageSize, format: format)
let image = renderer.image { ctx in
    // etc
}

我保留了一个list of iOS 10 code examples并将基于此添加一个。

关于ios - 使用UIGraphicsImageRenderer时如何设置比例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38045980/

10-09 21:50