Swift 模糊效果局部挖空

swift动画 —— 高斯模糊 首先先创建一个ImageView好方便来展示高斯模糊效果。 声明一个ImageView imageView = UIImageView(image: UIImage(named: "happy")) 在viewDidLoad中创建一个方法,方法里面设置其大小,并且将其放在View的中间,然后将其添加为View的子view。 imageView.frame = CGRect(x: 0, y: 0, width: 200, height: 200) imageView.cent 阅读详情

现实中经常会遇到如图需求:

请添加图片描述

代码如下:复制之余也要自己理解下原理,做到举一反三,深谙其道。

class ViewController: UIViewController {

override func viewDidLoad() {
    super.viewDidLoad()
    
    blurEffectAction()
}

func blurEffectAction() {
    let image = UIImageView(image: UIImage(named: "sexy"))
    image.frame = UIScreen.main.bounds
    //image.contentMode = .scaleAspectFit
    self.view.addSubview(image)
    
    //UIVisualEffectView--UIView类型,相当于在self.view上层又添加一个view
    let blurEffect = UIBlurEffect(style: .dark)
    let overlay = UIVisualEffectView(effect: blurEffect)
    overlay.frame = CGRect(x: 0, y: 0, width: UIScreen.main.bounds.width, height: UIScreen.main.bounds.height)

    //CAShapeLayer起渲染作用
    let maskLayer = CAShapeLayer()
    maskLayer.frame = CGRect(x: 0, y: 0, width: UIScreen.main.bounds.width, height: UIScreen.main.bounds.height)
    maskLayer.fillColor = UIColor.black.cgColor
    maskLayer.fillRule = CAShapeLayerFillRule.evenOdd

    let radius: CGFloat = 100
    let rect = CGRect(x: overlay.frame.midX - radius, y: overlay.frame.midY - radius, width: 2 * radius, height: 2 * radius)

    //UIBezierPath绘出了裁减的范围区域
    let path = UIBezierPath(rect: overlay.bounds)
    path.append(UIBezierPath(ovalIn: rect))
    
    maskLayer.path = path.cgPath
    
    overlay.layer.mask = maskLayer
    
    self.view.addSubview(overlay)
}

}

SwiftUI 中无法对添加模糊(blur)效果视图截图的初步解决 在本篇博文中,我们介绍了在 SwiftUI 中无法对添加模糊(blur)效果视图截图问题的一些解决方法,并讨论了目前这些方法的一些不足之处。 阅读详情

相关推荐

SwiftUI 5教程之Transparent Blur Effect透明模糊效果 (iOS 17 Xcode 15 wwdc23)

Transparent Blur Effect透明模糊效果。

iCloudEnd的博客 988

Html 点透镂空遮罩,swift 实现遮罩部分区域“挖洞”效果和点击事件穿透

在日常开发中有时候我们需要在APP中做用户指导,比如第一次进入某个页面的时候显示遮罩覆盖, 但是又需要将遮罩下的某些区域暴露出来,便于文字说明,比如我们需要在视图上加个遮罩,并且遮罩上要显示 按钮2 :原图期待的效果图:按钮1被盖住,而 按钮2显示出来效果我们可以 在视图上加个遮罩,再往遮罩上画一个同样位置和样式的 按钮2 ,作为一个有追求的程序猿,我们是不能容忍这种 低效实现方式的。我们可以通...

weixin_33464176的博客 735

IOS Swift 从入门到精通:BlurEffect BlendMode stroke

自定义形状也可以使用 stroke 修饰符。// 定义路径...使用 stroke 可以为SwiftUI中的形状添加多样化的视觉效果,是设计用户界面时常用的工具之一。

专栏 688

Swift使用BlurView进行高斯模糊操作(毛玻璃)

使用BlurView进行高斯模糊操作: 使用步骤: 创建一个UIImageView来进行高斯模糊的底层显示(要毛玻璃效果肯定要有背景),然后创建UIBlurEffect,这是控制高斯模糊的显示样式的,接着创建UIVisualEffectView(其构造方法内传值即为UIBlurEffect对象),最后将UIVisualEffectView添加到UIImageView上面即可 import UIKit class BlurViewController: UIViewController {

kicinio的博客 4852

iOS mask 层和 CAShapeLayer层中间挖去一部分

iOS mask 层和 CAShapeLayer层中间挖去一部分的 源码分析

feko金属球远场RCS双站

feko金属球远场RCS双站

a264672的博客 6913

Swift - 实现毛玻璃效果(Blur、模糊、虚化背景元素)

苹果从 iOS 7 起,大量使用了毛玻璃效果。比如上拉的控制中心就使用了毛玻璃效果。但当时还未向开发者公开提供毛玻璃效果的API,因此开发者只能去自己实现毛玻璃效果或者找第三方类库解决。 后来到了 iOS 8,SDK中直接提供了 UIBlurEffect 类与 UIVisualEffectView 类,配合使用这两个类可以轻松实现毛玻璃效果。 1,准备工作 假设我们在页面视图上放置了一个

mo_xiao_mo的博客 6728

AI系统架构设计实战:AI应用架构师的深度指南

核心概念:AI系统架构是指设计和组织人工智能系统各个组件(包括数据、算法、计算资源、集成接口等)的结构框架,以及这些组件之间的交互方式和原则。它为AI应用提供了技术蓝图,决定了系统的性能、可扩展性、可维护性和可靠性。数据的本质:数据是对客观事物的符号表示,是可识别的、抽象的符号。在AI系统中,数据不仅是输入,也是系统学习和改进的基础。数据就像AI系统的"燃料",其质量和数量直接决定了AI系统的能力边界。

AI天才研究院 1199

IOS学习 IOS8的虚化效果

如何使用iOS 8的虚化效果 2014-10-10 10:24 编辑:suiling 分类:iOS开发 来源:raywenderlich  2 3193 iOS开发iOS 8特性虚化Vibrancy 招聘信息: 深圳臭美网高薪招聘Android开发 iOS开发工程师软件工程师(兼职)android   在iOS 7中,一个重大的改变就是随处

qw25767889的专栏 1243

python docx设置标题中文字体rPr.rFonts.set(qn(‘w:eastAsia‘),u‘黑体‘),报错‘NoneType‘ object has no attribute ‘set‘

一、我的代码: 因为要编一个报告自动化生成的代码,所以用了python docx,在设置标题自己写了一段代码,要求将标题设置成:一级标题 黑体 小四 from docx import Document from docx.oxml.ns import qn from docx.shared import Pt def add_Head(document, level, text, font, size): # document word对象 # level 几级标题 # text 标题内容 # f

qq_40272386的博客 8859

Q学习(Q-learning)入门小例子及python实现

一、从马尔科夫过程到Q学习 # 有一定基础的读者可以直接看第二部分 Q学习(Q-learning)算法是一种与模型无关的强化学习算法,以马尔科夫决策过程(Markov Decision Processes, MDPs)为理论基础。 标准的马尔科夫决策过程可以用一个五元组<S,A,P,R,γ>表示,其中: S是一个离散有界的状态空间; A是一个离散的动作空间; P为状态转...

wlm_py的博客 4万+

Swift基础教程笔记 - 3、控制流

本文章内容来源于:Swift语言入门 - 网易云课堂。手打,有修改。推荐初学Swift语言的朋友学习 // 布尔值 true false // 比较运算符(关系运算符) 1 == 1 1 == 2 2 > 1 3 < 4 5 >= 6 7 <= 8 9 != 10 var bool: Bool = true bool = 100 > 200 var bool2...

zsyshuyang的专栏 272

ROS 2 + Astra Pro深度相机实战:5分钟搞定远程可视化与距离检测(附避坑指南)

本文提供了一份详尽的ROS 2与Astra Pro深度相机集成实战指南。通过5分钟快速部署,实现远程可视化与实时目标距离检测。文章涵盖驱动安装、SSH+X11远程调试、核心测距节点编写,并附有详细的避坑指南,帮助开发者高效构建机器人视觉感知系统。

weixin_29232507的博客 278

Swift模糊背景

import UIKit class EffectViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() var imageDown = UIImageView(frame: CGRectMake(0, 0, self.view.frame.

GDarkness Religion 768

高渗透率光伏接入配电网的电压越限与谐波治理:基于VSG构网型控制与SVG+APF联合补偿的Simulink仿真研究

本文针对高渗透率光伏接入配电网引发的电压越限和谐波畸变问题,提出了一种分层递进的综合治理方案。通过建立IEEE 33节点配电网的Simulink仿真模型,首先验证了传统跟网型控制下光伏渗透率提高导致的电压越上限(最高达1.08 p.u.)和系统谐波畸变严重(THD达8.72%)问题。进而提出:1)将部分光伏逆变器改造为构网型VSG控制,利用其无功调压能力与虚拟阻抗技术实现本地治理;2)在关键节点加装SVG+APF联合补偿装置进行全局动态无功补偿与谐波滤除。仿真结果表明,该方案能将节点电压控制在0.94-1.

huanghm88的专栏 580

解决k8s核心组件calico pod资源不创建问题

解决k8s核心组件calico pod资源不创建问题 1.问题描述 由于K8S集群Master节点故障,导致calico网络组件虽然处于Running状态,但是一直无法准备就绪,如下图所示 calico-node-lpt7h运行在master节点,第一时间紧急处理方法就是将其pod删除,让K8S自动重建该pod,使整个集群快速恢复 但是就当我将calico-node-lpt7h pod删除后,该pod始终无法自建,就好像是从来没有这个pod似的 2.解决方法 期初排查时,我觉得可能是由于当前master

江晓龙的博客 4808

Swift 之模糊效果(毛玻璃效果,虚化效果)的实现

前言: 之前项目中有用到过Objective-C的的模糊效果,感觉很是不错,而且iOS8之后官方SDK也直接提供了可以实现毛玻璃效果的三个类:UIBlurEffect、UIVibrancyEffect和UIVisualEffectView。通过这三个类可以很容易的去实现毛玻璃效果。 最近在熟悉Swift,所以今天说的是使用Swift去实现这种效果。 前提: 我们去实现的模糊效...

aoiz62081的博客 1561

CAPL通过SecMgrCANoeClient.dll实现AES 128

需要加载SecMgrCANoeClient.dll这个动态库,可以在canoe安装路径下Exec32这个文件夹里找。这个库不是哪版canoe都带,canoe15就没有,11,14是有的。我需要用到的是AES 128 ECB nopadding,这里函数介绍说是padding mode PKCS5,但是最后算出的结果是我可以使用的。CAPL中可以使用下列函数实现AES 128的算法。需要注意输入输出字节的长度。

天赐好车的博客 4932

推荐项目:UIImage-BlurredFrame - 创建精美模糊边框效果的Swift库

推荐项目:UIImage-BlurredFrame - 创建精美模糊边框效果的Swift库 在iOS应用开发中,我们经常需要为图片添加一些视觉特效以提升用户体验。一个常见的技巧是为图像添加模糊边框,它能够营造出优雅、专业的界面氛围。今天,我们要向您推荐一个Swift库——,它可以帮助开发者轻松实现这一功能。 项目简介 UIImage-BlurredFrame 是由Adrian2112开发的一个轻量...

gitblog_00100的博客 656

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

iOS开发之转盘菜单—Swift

前言 使用Swift实现的转盘菜单,主要用到UIBezierPath、CALayer遮罩绘制扇形UIView,CATransform3DMakeRotation实现旋转动画。代码设计使用默认configureCallback回调方便创建和设置基本属性,参考UITableView代理和数据源模式,支持AutoLayout和Frame。 效果图 1.遮罩绘制扇形View func setMaskLayer(_ startAngle: CGFloat, endAngle: CGFloat) { let

iOSxiaodaidai的博客 3263

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

可挖孔、可圆角、可带分割线的卡片 ViewGroup

使用 implementation 'com.vegen.open:HoleCardView:+' 其中 '+' 请填写版本号 Download 后的最新版本 使用示例 布局 &lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;android.support.constraint.ConstraintLayout xmlns:android="...

Androidtalent的博客 787

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

iOS 镂空文字效果

注意:一定要继承于UILabel,如果继承于UIView的话镂空的效果出不来   #import &lt;UIKit/UIKit.h&gt;   @interface HollowOutLabel : UILabel   @end ============================================================= #import "Hollo...

allanGold 2767

iOS mask 层和 CAShapeLayer层中间挖去一部分的 源码分析

iOS mask 层和 CAShapeLayer层中间挖去一部分的 源码分析 // // ViewController.m // test_maskLayer_01 // // Created by admin on 3/6/16. // Copyright © 2016 jeffasd. All rights reserved. // #import "ViewController.

jeffasd的专栏 2121

IOS开发UI篇--使用CAShapeLayer实现复杂的View的遮罩效果

一、案例演示 最近在整理一个聊天的项目的时候,发送图片的时候,会有一个三角的指向效果,指向这张图片的发送者。服务端返回给我们的图片只是一张矩形的图片,我们如何把一张矩形的图片或者View,加上一层自定义遮罩效果,就是本文要讲的内容。效果演示如下:第一张是一个View的遮罩效果,第二张是UIImageView的遮罩效果。 二、实现机制 在每一View的layer层中有一个mask属性,他就...

weixin_30384217的博客 147

使用CAShapeLayer的path属性与UIBezierPath画出扫描框

使用CAShapeLayer的path属性与UIBezierPath画出扫描框

Walden_tinghou的专栏 4394

BearSkill之UIView挖空处理

扫描二维码的界面或者特定的View需要做挖空处理,在StackOverFlow上找了一番,发现了一些有用的方法,并且整理了一下。挖空效果图核心代码 Demo地址: https://github.com/BearRan/TestCutOut - (void)drawRect:(CGRect)rect { [super drawRect:rect]; // 设置View的fill颜色

熊熊的博客 2443
上一篇: 修改状态栏背景色
下一篇: iOS系统版本较高同时Xcode版本较低真机调试遇到的问题
SoftwareDoger
博客等级 码龄10年 8粉丝 48原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值