默认情况下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)
答案 0 :(得分:21)
创建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,并会根据此添加一个。