菜鸟教程小白 发表于 2022-12-13 11:07:20

ios - 模拟长时间曝光iOS


                                            <p><p>我在应用商店中找到了几个在复制长时间曝光方面做得很好的应用,但我在文档中找不到任何引起我注意的东西。我注意到的一件事是,当您打开应用程序时,它会停止播放音乐,这让我觉得这些应用程序正在拍摄视频并以某种方式组合这些图像,然后叠加它们。</p>

<p>有谁知道我如何使用 <code>AVFoundation</code> 做到这一点?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>是的。我相信这些帧是从视频中提取的,经过处理,然后相互叠加。通常,图像处理部分涉及将每帧的亮度调暗到总帧数的一个因子,然后累积它们的像素值。 </p>

<pre><code>- (UIImage *) createLongExposure:(NSArray *)images {
   UIImage *firstImg = images;
   CGSize imgSize = firstImg.size;
   CGFloat alpha = 1.0 / images.count;

   UIGraphicsBeginImageContext(imgSize);
   CGContextRef context = UIGraphicsGetCurrentContext();
   CGContextSetFillColorWithColor(context, [ 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;
}
</code></pre>

<p>用于捕获视频帧的示例代码。
<a href="https://developer.apple.com/library/ios/qa/qa1702/_index.html" rel="noreferrer noopener nofollow">https://developer.apple.com/library/ios/qa/qa1702/_index.html</a> </p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 模拟长时间曝光iOS,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/31148992/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/31148992/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 模拟长时间曝光iOS