【问题标题】:Generating thumbnail from Video ends up always rotated in an UIImageView从视频生成缩略图总是在 UIImageView 中旋转
【发布时间】:2018-10-23 08:27:01
【问题描述】:

我正在使用UIImagePickerController 从用户的图库中选择视频或图像。有了照片,没有问题,一切都以应有的方式显示。当我尝试为视频生成缩略图时,问题就来了。

基本上,缩略图最终可能会上下颠倒或向左或向右 90 度显示。我不确定为什么会这样。我错过了什么或做错了什么?

extension PostVC : UIImagePickerControllerDelegate, UINavigationControllerDelegate {

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
    if let videoUrl = info[UIImagePickerController.InfoKey.mediaURL] as? URL {
        if let thumbnail = self.generateThumbnailForImage(videoUrl) {
            self.videoUrl = videoUrl
            self.photoImageView.image = thumbnail
            self.selectedImage = thumbnail
        }
    }
    if let image = info[UIImagePickerController.InfoKey.originalImage] as? UIImage {
        selectedImage = image
        photoImageView.image = image
        shareButton.isEnabled = true
    }
    dismiss(animated: true, completion: nil)
}

func generateThumbnailForImage(_ fileUrl: URL) -> UIImage? {
    let asset = AVAsset(url: fileUrl)
    let imageGenerator = AVAssetImageGenerator(asset: asset)
    do {
        let thumbnailCGImage = try imageGenerator.copyCGImage(at: CMTimeMake(value: 1, timescale: 10), actualTime: nil) // 1 sec
        return UIImage(cgImage: thumbnailCGImage)

    } catch let err {
        SVProgressHUD.showError(withStatus: err.localizedDescription)
    }
    return nil
  }
}

【问题讨论】:

    标签: ios swift avfoundation uiimagepickercontroller avasset


    【解决方案1】:

    似乎设置imageGenerator.appliesPreferredTrackTransform = true 解决了这个问题。

    【讨论】:

      猜你喜欢
      • 2021-03-08
      • 1970-01-01
      • 1970-01-01
      • 2013-10-22
      • 2017-03-01
      • 2012-09-01
      • 2011-07-04
      • 2011-02-19
      • 2017-10-15
      相关资源
      最近更新 更多