我在应用商店中找到了几个在复制长时间曝光方面做得很好的应用,但我在文档中找不到任何引起我注意的东西。我注意到的一件事是,当您打开应用程序时,它会停止播放音乐,这让我觉得这些应用程序正在拍摄视频并以某种方式组合这些图像,然后叠加它们。
有谁知道我如何使用 AVFoundation
做到这一点?
是的。我相信这些帧是从视频中提取的,经过处理,然后相互叠加。通常,图像处理部分涉及将每帧的亮度调暗到总帧数的一个因子,然后累积它们的像素值。
- (UIImage *) createLongExposureNSArray *)images {
UIImage *firstImg = images[0];
CGSize imgSize = firstImg.size;
CGFloat alpha = 1.0 / images.count;
UIGraphicsBeginImageContext(imgSize);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, [[UIColor blackColor] CGColor]);
CGContextFillRect(context, CGRectMake(0, 0, imgSize.width, imgSize.height));
for (UIImage *image in images) {
[image drawInRect:CGRectMake(0, 0, imgSize.width, imgSize.height)
blendMode:kCGBlendModePlusLighter alpha:alpha];
}
UIImage *longExpImg = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return longExpImg;
}
用于捕获视频帧的示例代码。 https://developer.apple.com/library/ios/qa/qa1702/_index.html
关于ios - 模拟长时间曝光iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31148992/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |