菜鸟教程小白 发表于 2022-12-12 12:07:10

ios - 如何在iOS中的某个时间段内为图像的模糊值设置动画


                                            <p><p>我想在一段时间内将图像从 0 高斯模糊设置为 25 像素模糊值,比如 0.5 秒。我完全坚持这一点。知道我该怎么做吗?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>虽然从 0 到 25 逐渐调整模糊半径似乎是理想的,但这可能计算量太大。在 iPhone 5 上,使用 <code>CIGaussianBlur</code> 滤镜对 25px 半径的 320x568 图像进行一次模糊处理需要 600 毫秒。使用 <code>UIImage+ImageEffects</code> (在 <a href="https://developer.apple.com/downloads/index.action?name=WWDC%202013" rel="noreferrer noopener nofollow">WWDC 2013 downloads page</a> 上)花了 150 毫秒,它使用了 <a href="https://developer.apple.com/library/ios/documentation/Performance/Conceptual/vImage/Introduction/Introduction.html#//apple_ref/doc/uid/TP30001001" rel="noreferrer noopener nofollow">vImage high-performance image processing framework</a> .显然,试图在 0.5 秒内反复模糊图像是站不住脚的。</p>

<p>但是,相反,只需使用带有交叉溶解的 <code>transitionWithView</code> 将图像替换为模糊图像:</p>

<pre><code>UIImage *blurImage = ;

[UIView transitionWithView:imageView duration:0.5 options:UIViewAnimationOptionTransitionCrossDissolve animations:^{
    imageView.image = blurImage;
} completion:nil];
</code></pre>

<p>这产生了您描述的过渡的平滑且非常令人信服的近似值。</p>

<hr/>

<p>这种技术似乎也适用于 <code>UIVisualEffectView</code> 上的 iOS 8 <code>UIBlurEffect</code>:</p>

<pre><code>UIVisualEffect *blurEffect;
blurEffect = ;

UIVisualEffectView *visualEffectView;
visualEffectView = [ initWithEffect:blurEffect];

visualEffectView.frame = imageView.bounds;

[UIView transitionWithView:imageView duration:0.5 options:UIViewAnimationOptionTransitionCrossDissolve animations:^{
    ;
} completion:nil];
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 如何在iOS中的某个时间段内为图像的模糊值设置动画,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/26375541/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/26375541/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 如何在iOS中的某个时间段内为图像的模糊值设置动画