2016-06-27 12 views
1

デフォルトではUIGraphicsImageRendererはスケールをデバイスの画面の縮尺に設定し、iPhone 6では2倍、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を維持することだし、これに基づいて1を追加します:あなたは、正確なピクセルではなく、スケールドポイントを書きたい場合は、このようなものを使用します。

関連する問題