默认情况下,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/