簡體   English   中英

SwiftUI 如何判斷圖片是橫向還是縱向?

[英]SwiftUI How to determine whether image was taken in landscape or portrait?

我有一個簡單的圖像細節視圖,但問題是我將圖像旋轉 90 度並且在橫向模式下拍攝的圖像正確旋轉,但在縱向模式下拍攝的照片不是。 我想讀取圖像的模式並在可能的情況下打開它?

我也找到了這個答案,但無法將Image轉換回UIImage來使用它。

import SwiftUI

struct DetailImageView: View {

@Binding var showingSheet: Bool

    var image: Image?

    var body: some View {
        if let unwrappedImage = image {
            unwrappedImage
                .resizable()
                .scaledToFit()
                .edgesIgnoringSafeArea(.all)
                  //.rotationEffect(.degrees(90))
        }
    }
}

我想不出一種從Image中讀取任何信息的方法,所以我決定繞過UIImage ,然后再轉換為圖像:

import SwiftUI

struct DetailImageView: View {

@Binding var showingSheet: Bool
    
    var imageAsUIImage: UIImage?
    
    var body: some View {
        
        if let unwrappedImage = imageAsUIImage {
            Image(uiImage:  unwrappedImage)
                .resizable()
                .scaledToFit()
                .padding()
                .if((imageAsUIImage?.size.width ?? 100) > (imageAsUIImage?.size.height ?? 100)) { $0.rotationEffect(Angle.degrees(90)) }
        }
        
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM