相机应用程序中的相机胶卷显示图像的正确纵横比。
当我使用 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 进行了测试。除零以外的时间也进行了测试。相同的视频总是提供扭曲的拇指,而其他视频则可以。可能是什么问题或有解决方法?