默认情况下,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)
发布于 2016-06-27 21:38:57
在创建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,并将在此基础上添加一个。
https://stackoverflow.com/questions/38045980
复制相似问题