gpt4 book ai didi

swift - AVAssetImageGenerator 生成的图像颜色略有错误,但仅限于 iOS 13.X

转载 作者:行者123 更新时间:2023-12-03 09:20:40 24 4
gpt4 key购买 nike

似乎 AVAssetImageGenerator().copyCGImage 在 iOS 13.x 上生成的图像颜色略有错误。颜色在 iOS 12.4 上是正确的。

有没有其他人经历过这种情况?

它是什么样子的

1 = AVPlayer(正确颜色)

2 = AVAssetImageGenerator 结果

请注意背景颜色略有不同。

enter image description here

代码

extension AVPlayer{
var poster: UIImage? {
guard let asset = self.currentItem?.asset else {
return nil
}

let videoFrameCGImage = try! AVAssetImageGenerator(asset: asset).copyCGImage(at: CMTimeMake(value: 1, timescale: 10), actualTime: nil)

return UIImage(cgImage: videoFrameCGImage)
}
}

最佳答案

我在生成缩略图时遇到了同样的问题,上面 Pranav 的评论是我需要的提示。复制输出 CGImage进入设备 RGB 色彩空间对我有用:

generator.appliesPreferredTrackTransform = true
let thumbTime = CMTimeMakeWithSeconds(0, preferredTimescale: 30)
generator.maximumSize = maxSize ?? CGSize(width: 100, height: 100)
var cgImage = try? generator.copyCGImage(at: thumbTime, actualTime: nil)

// This was the missing line - correct the color space
cgImage = cgImage?.copy(colorSpace: CGColorSpaceCreateDeviceRGB())

if let cgImage = cgImage {
return UIImage(cgImage: cgImage)
}
这改变了 cgImage.colorSpace从使用:
<CGColorSpace 0x28248f660> (kCGColorSpaceICCBased; kCGColorSpaceModelRGB; HDTV)
使用:
<CGColorSpace 0x282484120> (kCGColorSpaceDeviceRGB)

关于swift - AVAssetImageGenerator 生成的图像颜色略有错误,但仅限于 iOS 13.X,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62315326/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com