[英]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.