iOS实现模糊效果

iOS使用系统提供的高斯模糊组件 UIBlurEffect UIBlurEffect will provide a blur that appears to have been applied to the content layered behind the UIVisualEffectView. Views added to the contentView of a blur visual effect are not blurred themselves. UIBlurEffect需要结合UIVisualEffectView来使 阅读详情

实现模糊效果有两种方式:

第一种是直接对图片做处理,增加模糊效果,然后替换之前的图片;

- (void)setImageToBlur: (UIImage *)image
            blurRadius: (CGFloat)blurRadius
{
    CIContext *context   = [CIContext contextWithOptions:nil];
    CIImage *sourceImage = [CIImage imageWithCGImage:image.CGImage];
    
    // Apply clamp filter:
    // this is needed because the CIGaussianBlur when applied makes
    // a trasparent border around the image
    
    NSString *clampFilterName = @"CIAffineClamp";
    CIFilter *clamp = [CIFilter filterWithName:clampFilterName];
    
    if (!clamp) {
        return;
    }
    
    [clamp setValue:sourceImage
             forKey:kCIInputImageKey];
    
    CIImage *clampResult = [clamp valueForKey:kCIOutputImageKey];
    
    // Apply Gaussian Blur filter
    
    NSString *gaussianBlurFilterName = @"CIGaussianBlur";
    CIFilter *gaussianBlur           = [CIFilter filterWithName:gaussianBlurFilterName];
    
    if (!gaussianBlur) {
        return;
    }
    
    [gaussianBlur setValue:clampResult
                    forKey:kCIInputImageKey];
    [gaussianBlur setValue:[NSNumber numberWithFloat:blurRadius]
                    forKey:@"inputRadius"];
    
    CIImage *gaussianBlurResult = [gaussianBlur valueForKey:kCIOutputImageKey];
    
    __weak UIImageView *selfWeak = self;
    
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
        
        CGImageRef cgImage = [context createCGImage:gaussianBlurResult
                                           fromRect:[sourceImage extent]];
        
        UIImage *blurredImage = [UIImage imageWithCGImage:cgImage];
        CGImageRelease(cgImage);
        
        dispatch_async(dispatch_get_main_queue(), ^{
            selfWeak.image = blurredImage;
        });
    });
}


第二种是创建一个UIVisualEffectView对象,然后把它放在需要模糊的内容上面,实现模糊效果;

imageview = [[UIImageView alloc] initWithFrame:CGRectMake(0, 20,200, 200)];

imageview.contentMode = UIViewContentModeScaleAspectFit;

imageview.userInteractionEnabled = YES;

[self.view addSubview:imageview];

UIBlurEffect *blur = [UIBlurEffect effectWithStyle:UIBlurEffectStyleLight];

UIVisualEffectView *effectview = [[UIVisualEffectView alloc] initWithEffect:blur];

effectview.frame = CGRectMake(0, 0, imageview.frame.size.width/2, 300);

[imageview addSubview:effectview];

// UIButton *btn = [UIButton buttonWithType:UIButtonTypeSystem];

//

// btn.frame = CGRectMake(10, 50, 100, 40);

//

// [btn setTitle:@"btn" forState:UIControlStateNormal];

//

// [effectview.contentView addSubview:btn];

相对实现来说,第二种简单一点,但是还是要看具体需求来选择使用哪种方式。


iOS自带实现高斯模糊效果 iOS原生支持实现毛玻璃效果的两种方法 阅读详情

相关推荐

动态实现iOS背景高斯模糊效果教程

Core Image是Apple提供的一套功能强大的图像处理API,它允许开发者在不牺牲性能的情况下,应用各种高级图像处理技术。Core Image框架的核心概念包括图像处理管道(filter pipelines)、图像源(image sources)、滤镜(filters)、内核(kernels)和缓存(caching)。在使用Core Image时,开发者会频繁与以下几种组件打交道:CIImage:代表图像本身,所有的图像处理都是在CIImage对象上进行。CIFilter。

weixin_33173126的博客 1746

iOS背景模糊效果3中方法总结

1.首先得把界面转化成图片,给uiview加一个类目如下: #import "UIView+Screen.h" @implementation UIView (Screen) //截取界面转化成图片 -(UIImage *)convertViewToImage { UIGraphicsBeginImageContext(self.bounds.size); [self dra...

weixin_34109408的博客 355

大模型推理中Prefill与Decode、KV Cache三者说明

Prefill 阶段对输入 Prompt 并行编码,一次性构建KV Cache,属于计算密集型任务。Decode 阶段逐 token 迭代生成,复用KV Cache避免重复计算,属于显存带宽密集型任务。KV Cache是自回归推理的核心基石,用显存换时间,实现两阶段衔接与高效生成。PD 分离通过任务解耦、异构硬件、异步调度、独立批处理,解决传统一体化推理的资源冲突与利用率低下问题,是当前云端大模型推理服务的主流工程优化方向。

a486259的博客 1483

iOS 开发使用半透明模糊效果方法整理(欢迎分享和提建议)

虽然iOS很早就支持使用模糊效果对图片等进行处理,但尤其在iOS7以后,半透明模糊效果得到大范围广泛使用。包括今年最新发布的iOS8也沿袭了这一设计,甚至在OS X 10.10版Yosemite中也开始大量使用半透明模糊。 在iOS开发当中,我们有很多选择可以做半透明模糊效果,下面就是一些常见的方式或者说工具。 0. Core Image 作为设计和体验方面的领导者,

u012113447的专栏 803

【ACP】2025-最新-疑难题解析- 练习二汇总

全球加速是优化公网访问的,负载均衡是分发流量的,公网 NAT 网关是处理公网 IP 的,高速通道是建私网连接但不直接提供固定私网地址功能。C 是客户端加密方式,D 是 ECS 云盘加密,都不属于 OSS 服务器端加密。某企业想使用云服务器 ECS + 负载均衡 SLB + 弹性伸缩 (Auto Scaling) 的架构搭建一个企业级门户网站,技术负责人对于负载均衡和弹性伸缩配合使用没有经验,于是将他理解的两种产品配合使用的一些技术细节列成了一个表单,并请作为架构师的您帮他做一下鉴别,以下哪些项是正确的?

jundao1997的专栏 293

行测测评——矩阵、圆形、环形三角图形数列推理解题技巧

写在前面:各大公司的测评做的让人眼花缭乱,很多题型都是第一次见,比如逻辑关系、信息推理,最难的要属找规律的数字推理了。根据B站UP主刘文超老师的课程,记录一下解题技巧。感谢UP主的无私奉献,原地址连接:https://www.bilibili.com/video/BV1it411M7o2?t=528&p=7 解题技巧: 从图形的上下、左右、交叉 角度进行尝试求解 基本法则是“加、减、乘、除、倍数、次方”六种形态。 一、有心数阵 解题技巧:周边数字通过某种运算得到中间数字 1.周边数..

涵盖了计算机专业基础知识、数学建模相关实践、复杂网络论文研究、LeetCode算法刷题经验、C语言开发经验、前端Vue、React框架开发实战相关知识 8642

iOS 模糊效果相关

项目中一直有使用到模糊处理, 例如图片的高斯模糊, 一直使用的代码如下:   // 内部方法,核心代码,封装了毛玻璃效果 参数:半径,颜色,色彩饱和度 - (UIImage *)imgBluredWithRadius:(CGFloat)blurRadius tintColor:(UIColor *)tintColor saturationDeltaFactor:(CGFloat)satura...

silence_0313的博客 294

合肥工业大学操作系统实验9

依据操作系统课程所介绍的页面置换算法与动态内存分配的原理,本实验的目的是掌握OPT、FIFO、LRU、LFU、Clock等页面置换算法;掌握可用空间表及分配方法;掌握边界标识法以及伙伴系统的内存分配方法和回收方法。从而深入理解操作系统的内存管理。从而加深对教材上页面置换算法与动态内存分配的理解。

Martin-share的博客 1094

iOS 毛玻璃效果

- (UIImage *)applyBlurWithRadius:(CGFloat)blurRadius tintColor:(UIColor *)tintColor saturationDeltaFactor:(CGFloat)saturationDeltaFactor maskImage:(UIImage *)maskImage { if (CHECK_IOS() >= 50) {

gongchenzhang的专栏 819

openlayers:实现在连续更改时间维度时如何平滑地重新加载层 (附完整源码)

openlayers:实现在连续更改时间维度时如何平滑地重新加载层 (附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 347

PCL 贪婪投影三角剖分算法【2025最新版】

本博客在学习PCL中的贪婪投影三角算法的基础上,实现了使用彩色点云重建彩色模型的应用案例。博客长期更新,最近一次更新时间为:2025年7月6日。

点云侠的博客 37万+

iOS 如何实现模糊效果

iOS 如何实现模糊效果 APR 22ND, 2013 | COMMENTS 随着App Store的发展,越来越多的应用进入人们的视野,只是纯粹靠着功能强大来吃饭的应用已经跟不上时代。排行榜名列前茅的应用可能功能并不是最强大的,但绝对是最吸引眼球的。或者炫目的效果,或者简洁清新的风格,又或者流畅新颖的操作方式,这些才能让你的应用足够“特别”。 良好的视觉效果是一款优秀应用所

Apple_0611的专栏 1082

YOLOv8集成CPCA(Combined Parallel Convolutional Attention)注意力机制模块YOLOv8深度教程

YOLOv8集成CPCA注意力模块教程摘要 本教程详细介绍了如何将YOLOv8 CPCA(Combined Parallel Convolutional Attention)注意力模块集成到YOLOv8目标检测框架中。CPCA模块结合了通道注意力和多尺度空间注意力机制,通过全局池化和双路径融合增强通道特征,并利用多尺度深度可分离卷积捕获空间上下文信息。YOLOv8 教程包含完整的实现步骤:创建CPCA模块代码、修改YOLOv8模型解析逻辑、编写自定义配置文件,YOLOv8YOLOv8YOLOv8YOLOv8

FJN110的博客 1619

iOS 开发之模糊效果的五种实现

前言 在iOS开发中我们经常会用到模糊效果使我们的界面更加美观,而iOS本身也提供了几种达到模糊效果的API,如:Core Image,使用Accelerate.Framework中的vImage API,在iOS 7之前系统的类提供UIToolbar,在iOS 8之后苹果新增加的一个类UIVisualEffectView;另外也有一些牛人写的第三方框架,如:GPUImage。...

weixin_30778805的博客 211

勇攀数字高峰

摘要:该题目要求在数字地形图中寻找从最低点到最高点的所有严格递增登山路径。采用DFS深度优先搜索结合回溯算法,通过标记已访问位置并检查高度差限制(0<diff≤maxDiff)来遍历所有可能路径。算法首先确定起点(最低点)和终点(最高点),然后进行DFS搜索,每步移动需满足四个方向的合法移动且高度严格递增。最终输出符合条件的路径总数。提供了C++、Java和Python三种实现方案。

面试高手的博客 621

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

android ios动态模糊效果,iOS实现模糊效果的几种方法

iOS系统中大量使用了模糊效果,背景模糊,使得靠前的内容更容易获得用户的关注,自己开发中肯定也遇到过样的需求。今天就总结一下常用的实现模糊效果的方法,目录如下图:本篇demo:iOS常用模糊效果demo目录1.UIImage+ImageEffects这种办法实际上是对加载出的UIImage进行处理,得到模糊效果后,可以使用UIImage对象创建视图。使用场景:需要对静态的图片进行模糊时优点:iOS...

weixin_36073392的博客 1581

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

iOS模糊效果的实现

CoreImage 中的模糊滤镜 // 原始图片 UIImage *image = [UIImage imageNamed:@"girl"]; // CIImge图片输入 CIImage *ciImage = [[CIImage alloc] initWithImage:image]; // CIFilter高斯模糊 CIFilter *blurFilte

长乐未央 676

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

iOS 7中实现模糊效果

转自译文:http://beyondvincent.com/blog/2014/01/29/ios-7-blur-effects-gpuimage/ 原文http://www.raywenderlich.com/60968/ios-7-blur-effects-gpuimage iOS 7中实现模糊效果 本文译自iOS 7 Blur Effects with GPUI

夜-feng的专栏 1683

iOS 模糊效果实现

iOS的模糊效果实现方法有好几种,基本分为两种方式,一种是将图片进行模糊,一种是将模糊的控件放在UI界面上,使控件覆盖的区域达到模糊的效果。每种方式我各选了2种方法,下面介绍一下它们的实现方式以及对比一下它们的优缺点。 屏幕快照 2016-07-29 上午10.10.32.png coreImage 该方法实现的模糊效果较好,模糊程度的可调范围很大,可以根据实际的需求随意调试。缺

虔诚往事 1152

iOS中实现模糊效果

iOS中实现模糊效果的方法有多种,本文介绍两种。1. 使用CoreImage实现CoreImage框架最早出现于iOS5,后期苹果又对这个框架进行了扩展。 CoreImage框架中的常用类: 1. CIImage:代表图片的对象。 2. CIFilter:代表滤镜的对象,通过key/value的方式设置参数。 3. CIContext:用来渲染CIImage 。 下面我们来看看简单它的简单使

u013279475的博客 706

iOS实现图片高斯模糊效果

RT CIContext *context = [CIContext contextWithOptions:nil]; CIImage *inputImage = [[CIImage alloc] initWithImage:[UIImage imageNamed:@"1.png"]]; // create gaussian blur filter CIF

xietao3 7245

iOS模糊效果实现

最近项目中需求,要实现模糊效果,所以来简单研究了一下,记录在此 本篇博文讲了如果使用不同的方法来实现iOS内的模糊效果。 1. 使用苹果官方提供的方法来渲染 https://developer.apple.com/library/content/samplecode/UIImageEffects/Listings/UIImageEffects_UIImageEffects_m.html#//ap

wwwwwwwwwwwwdi的博客 530

IOS实现图片的模糊效果

模糊效果前:           模糊效果后:                            // //  ViewController.m //  BlurImage // //  Created by Luck on 16/6/20. //  Copyright © 2016年 hongmw. All rights reserved. /

Luck_Developer的博客 589

iOS8使用UIVisualEffectView实现模糊效果

代码实现 - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. //使用图片初始化背景色 self.view.backgroundColor = [UIColor colorWithPat

SoulHao的专栏 3197
下一篇: iOS手势集合
ITMan_iOS
博客等级 码龄12年 8粉丝 27原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值