2016-06-27 76 views
1

默認情況下,UIGraphicsImageRenderer將縮放比例設置爲設備的屏幕比例,在iPhone 6s上它是2x和iPhone 6s Plus 3x,因此即使您已將尺寸設置爲300,取決於使用哪個設備,取決於600或900。當你想確保它始終是300時,你如何設定比例?如何使用UIGraphicsImageRenderer設置縮放比例

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)

回答

7

創建UIGraphicsImageRenderer時,您應該使用UIGraphicsImageRendererFormat類。如果你想寫出精確的像素,而不是規模點,使用這樣的:

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,將增加在此基礎上的。

相關問題