3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

iOSAdvent Calendar 2021

Day 18

iPhoneで撮った写真の向きがおかしいとき、お手軽回転メソッドで全てを解決する

Posted at

iPhoneで撮った写真をフォトライブラリから取得すると、画像の向きがおかしかったりする。
yumikoPAR52809_TP_V4.jpg
↓ こうしたい。
yumikoPAR52809_TP_V4.jpg
それを一発で解決する方法です。
焦らなくて大丈夫。
このメソッドをかませれば正しい向きの画像が返ってきます。

func getCorrectOrientationUIImage(uiImage:UIImage) -> UIImage {
    var newImage = UIImage()
    switch uiImage.imageOrientation.rawValue {
     case 1:
        guard let orientedCIImage = CIImage(image: uiImage)?.oriented(CGImagePropertyOrientation.down),
              let cgImage = ciContext.createCGImage(orientedCIImage, from: orientedCIImage.extent) else { print("Image rotation failed."); return uiImage}     
        newImage = UIImage(cgImage: cgImage)
    case 3:
        guard let orientedCIImage = CIImage(image: uiImage)?.oriented(CGImagePropertyOrientation.right),
              let cgImage = ciContext.createCGImage(orientedCIImage, from: orientedCIImage.extent) else { print("Image rotation failed."); return uiImage}
       newImage = UIImage(cgImage: cgImage)
    default:
       newImage = uiImage
    }
    return newImage
}

🐣


フリーランスエンジニアです。
お仕事のご相談こちらまで
簡単な開発内容をお書き添えの上、お気軽にご連絡ください。
rockyshikoku@gmail.com

Core MLやARKitを使ったアプリを作っています。
機械学習/AR関連の情報を発信しています。

Twitter
Medium

3
2
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
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?