LoginSignup
0
0

More than 3 years have passed since last update.

retina端末で画像アップロードする時のリサイズで注意するところ

Last updated at Posted at 2020-05-08

iOS端末で、よく写真ををリサイズして、アップロードしたいことがある。

ただ、ちょっと注意しないと、Retina対応で画像が設定されたサイズで生成されないことがある。
これはUIGraphicsBeginImageContextWithOptions()メソットでscaleパラメーターで、期待されるサイズにならない場合があるほで、気をつけないといけない。
ここでは、scale 1.0を設定した実装で、実際リサイズしたいサイズでファイルが生成されるが確認される。

UIImage+extension.swift

   func resizeWithStorage(toWidth: CGFloat) -> UIImage {
        let scale = toWidth / self.size.width
        let toHeight = self.size.height * scale
        let newSize = CGSize(width: toWidth, height: toHeight)
        let rect = CGRect(origin: CGPoint(x: 0, y: 0), size: newSize)
        UIGraphicsBeginImageContextWithOptions(newSize, false, 1.0) // <-- ここ
        self.draw(in: rect)
        let image: UIImage! = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext()
        return image
    }

iOS、Androidアプリの制作なら、https://origon.co.jp にお任せください
信頼且つ満足できる製品を納品いたします

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0