2

相机应用程序中的相机胶卷显示图像的正确纵横比。

当我使用 AVAssetImageGenerator 检索拇指时,一些拇指看起来非常扭曲。比身高长10倍。总是相同的图像看起来失真,而其他图像看起来正确。使用相机应用程序拍摄的所有图像。在相机应用程序的相机胶卷内,所有图像看起来都正确。还有那些被 AVAssetImageGenerator 扭曲的。

我像这样检索拇指:

if (!_imageGenerator) {
        self.imageGenerator = [[AVAssetImageGenerator alloc] initWithAsset:self.avAsset];

        _imageGenerator.appliesPreferredTrackTransform = YES;
    }
    _imageGenerator.maximumSize = maxSize;

    [_imageGenerator generateCGImagesAsynchronouslyForTimes:[NSArray arrayWithObject:[NSValue valueWithCMTime:kCMTimeZero]]
                                         completionHandler:^(CMTime requestedTime,
                                                             CGImageRef image,
                                                             CMTime actualTime,
                                                             AVAssetImageGeneratorResult result,
                                                             NSError *error) {

                                                 if (result == AVAssetImageGeneratorSucceeded) {

                                                     weakSelf.thumbImage = [UIImage imageWithCGImage:image];
                                                     dispatch_async(dispatch_get_main_queue(), ^{
                                                         NSLog(@"Loaded thumbnail");
                                                         completionHandler(weakSelf.thumbImage);
                                                     });
                                                 }
                                                 else if (result == AVAssetImageGeneratorFailed) {
                                                     // retry
                                                 }
                                     }];

在 iPhone 5 上使用 iOS 7 进行了测试。除零以外的时间也进行了测试。相同的视频总是提供扭曲的拇指,而其他视频则可以。可能是什么问题或有解决方法?

4

0 回答 0