iPhone相机可以拍摄HDR照片,当在旧款iPhone的照片应用程序中显示时,HDR照片将以不同亮度的明暗部分显示。效果如这条推文https://twitter.com/5tu/status/1327838250170368000(虽然是视频,但照片也一样),HDR照片的明亮部分会呈现比应用程序更亮的白色背景白色。
我用
UIImageView
无法达到这个效果。如何以编程方式实现 HDR 照片的这种效果?
这是同一个问题:https://www.reddit.com/r/photography/comments/ni6603/iphone_photos_more_hdr_gets_brighter_than/
这个应用程序可以满足您的需求: https://apps.apple.com/us/app/radiance/id1573366225
这是文档: https://developer.apple.com/videos/play/wwdc2022/10114/
你无法使用 UIImageView 做到这一点,你需要 Metal。
虽然是视频,但照片也一样
什么?仅 AVIF 和 JPEG XL 支持 HDR 传输功能。
在 Xcode 16 中,这可以通过 SwiftUI 完成:
let image:UIImage = UIImageReader.default.image(contentsOf: URL(string: "yourHDRImageURL")!)!
var body: some View {
Image(uiImage: image)
.resizable()
.aspectRatio(contentMode: .fit)
.allowedDynamicRange(.high)
}