使用UIGraphicsImageRenderer

时间:2016-06-27 04:31:27

标签: ios uikit

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

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,并会根据此添加一个。