首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

iOS高斯模糊&毛玻璃效果开发探索

iOS开发中有的时候需要将图片设置模糊,来实现特定的效果获取更好的用户体验, iOS7之后半透明模糊效果得到大范围使用的比较大,现在也可以看到很多应用局部用到了图片模糊效果,可以通过高斯模糊和毛玻璃效果达到图片模糊效果...CoreImage: iOS5.0之后就出现了Core Image的API,Core Image的API被放在CoreImage.framework库中, 在iOS和OS X平台上,Core Image...; } 2. vImage vImage属于Accelerate.Framework,需要导入 Accelerate下的 Accelerate头文件, Accelerate主要是用来做数字信号处理...图像可以认为是由向量或者矩阵数据构成的,Accelerate里既然提供了高效的数学运算API,自然就能方便我们对图像做各种各样的处理 ,模糊算法使用的是vImageBoxConvolve_ARGB8888..., 将effectView添加到要实现了毛玻璃的效果的view控件上,效果图和上面的一样.

4.7K20

iOS 图片渐进式下载

为了省去制作图片的麻烦,我就直接拿YYWebImage里面的图片了,我个人也是建议使用这个图片框架来做渐进式下载。 先看下YYKit中做的效果图。 渐进式图片 图片加载很美观,用户体验性非常棒。...于是,在和一个群友讨论后,决定自己写出这样的一个效果。...言归正传,先来解释下,为什么你从百度随便弄一张图的链接放上去,但没有渐进式的下载效果。 实际上这和图片的格式支持有关。...图片解码需要用到这个框架处理 #import 首先使用CGImageSourceCreateIncremental(NULL)创建图片源,然后在网络请求代理中拼接每次返回的图片...我第一时间想到的就是,我要再加一层毛玻璃!以此获得更好的用户体验。 毛玻璃我采用#import Accelerate/Accelerate.h>框架来做。

1.5K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    iOS 不用 libyuv 也能高效实现 RGBYUV 数据转换丨音视频工业实战

    做音视频或图像处理方向的开发同学一般都或多或少接触过 libyuv[1] 这个开源库,我们在音视频开发中处理 YUV、RGB 等格式的数据转换、旋转、缩放时常常用到它。...其实苹果也提供了一套名为 vImage 的原生 API 来支持高性能的图像数据处理。...vImage 是 Accelerate 库的一部分,使用传统 C 语言实现,侧重于高性能的图像处理,很多接口需要自己手动进行内存管理,我们基于 vImage 也可以实现高性能的 RGB 与 YUV 数据的转换...2、YUV(NV12) 转换为 BGRA 在 iOS 中要将 NV12 格式的 CVPixelBuffer 保存为 UIImage 时,例如视频抽帧等需求,需要先将 NV12 转换 BGRA。...3、BGRA 转换为 YUV(NV12) 当 UIImage 转换为 NV12 格式的 CVPixelBuffer时,例如图片与视频混排需要将图片转换为 NV12 进行编码,需要先将 BGRA 转换 NV12

    80331

    iOS系统架构及常用框架

    Core OS layer 核心操作系统层包括内存管理、文件系统、电源管理以及一些其他的操作系统任务,直接和硬件设备进行交互 基本都是基于c语言的接口 核心操作系统层包括Accelerate Framework...提供了以下更高级的功能:按时间或版本号缓存网络请求内容、检查返回 JSON 内容的合法性、文件的断点续传、批量的网络请求发送、filter和插件机制等。...布局 masonry 7 系统框架重点解析 UIKit UIKit框架是可视类对象的基础文件,继承于NSObject。...当引入此头文件后,便可以在程序里使用任何在UIKit里声明的类 CoreGraphics 它是iOS的核心图形库,平时使用最频繁的point,size,rect等这些图形,都定义在这个框架中,类名以CG...开头的都属于CoreGraphics框架,它提供的都是C语言的函数接口,是可以在ios和mac os通用的。

    7.8K21

    iOS开发swift版异步加载网络图片(带缓存和缺省图片)

    iOS开发之swift版异步加载网络图片     与SDWebImage异步加载网络图片的功能相似,只是代码比较简单,功能没有SD的完善与强大,支持缺省添加图片,支持本地缓存。      ...ZYHImage                     })                 }                              })         }     }      } 缓存的处理这里采用的是写文件的方式...,通过文件名来对缓存进行管理,这个框架还不完善,后面会加入缓存清除等功能。...newStr.appendFormat("%c", c)             }         }         return newStr.copy() as NSString              } 框架的...github地址,欢迎指正与扩展:https://github.com/ZYHshao/swift-ZYHWebImage 因xcode的版本不同,swift语言语法随环境时常会变化,此版本在6.1中可用

    1.8K30

    Swift 中的 asyncawait

    这是一个非常简化的描述,但它应该让你知道 Swift 中的并发性对你的应用程序的性能是多么重要。有了新的 async 方法和 await 语句,我们可以定义方法来进行异步工作。...你可以把它们(async-await)看作是Swift中最好的朋友,因为一个永远不会离开另一个,你基本上可以这样说: "Await 正在等待来自他的伙伴async 的回调" 尽管这听起来很幼稚,但这并不是骗人的...你可以在整个项目中逐步改变你的实现,并使用Xcode中提供的修复按钮来自动转换你的代码以利用新的实现。...换句话说,你可能是在引用一个属性或一个不可变的实例,例如,像下面这个例子中的结构体: 不支持从异步执行的代码中修改不可变的属性或实例。...现在你已经了解了async和await的基础知识,现在是时候深入了解其他新的并发功能了。

    3.5K30

    Swift 中的 Task

    Swift 中的 Task 是 WWDC 2021 引入的并发框架的一部分。任务允许我们从非并发方法创建并发环境,使用 async/await 调用方法。...第一次处理任务时,您可能会认识到调度队列(dispatch queue)和任务(tasks)之间的相识程度。两者都允许在具有特定优先级的不同线程上分派工作。...在任务中执行异步方法 除了同步返回值或抛出错误外,任务还可以执行异步方法。我们需要一个任务来在不支持并发的函数中执行任何异步方法。...但是,Task的工作方式不同,因为无论您是否保留引用,它们都会运行。保留引用的唯一原因是让自己能够等待结果或取消任务。...return image } 在可以很容易的掌控任务的取消,这使得我们很容易犯错误和进行不必要的工作。在执行任务时,请保持警惕,确保你的代码定期检查取消的状态。

    3.4K20

    点亮你 App 的 5 个 iOS 库

    TVButton TVButton 可在 UIButton 控件上重新创建类似于在 Apple TV 上看到的美丽视差效果。长按或拖动即可触发效果。...要使用视差效果,您至少需要两/三层具有相同尺寸的图像。以下是一个具体实例: let bg = TVButtonLayer(image: UIImage(named: "TVBG.png")!)...TKRubberIndicator TKRubberIndicator是Swift制作的库,它可在应用程序中添加橡胶动画页面控件。要使用它,您需要首先导入TKRubberPageControl框架。...TransitionButton TransitionButton是一个用于添加带有加载和过渡动画的 UIButton 的库。首先,TransitionButton 是 UIButton 的子类。...Sliders Sliders是完全使用 SwiftUI 构建的库。它使您可以在 iOS,macOS 和 Mac Catalyst 上创建可自定义的水平和垂直滑块。

    63620

    Swift 中的 asyncawait ——代码实例详解

    这是一个非常简化的描述,但它应该让你知道 Swift 中的并发性对你的应用程序的性能是多么重要。有了新的 async 方法和 await 语句,我们可以定义方法来进行异步工作。...执行数据请求 } 像这样定义一个方法使我们很难推理出调用者一方的结果。value 和 error 都是可选的,这要求我们在任何情况下都要进行解包。...你可以把它们 (async-await) 看作是 Swift 中最好的朋友,因为一个永远不会离开另一个,你基本上可以这样说: "Await 正在等待来自他的伙伴 async 的回调" 尽管这听起来很幼稚...你可以在整个项目中逐步改变你的实现,并使用Xcode中提供的修复按钮来自动转换你的代码以利用新的实现。...换句话说,你可能是在引用一个属性或一个不可变的实例,例如,像下面这个例子中的结构体: 不支持从异步执行的代码中修改不可变的属性或实例。

    2.9K10

    ·第三方网络图片处理框架:SDWebImage(官方文档翻译篇)

    目前,虽然AFNetworking也提供了图片下载及缓存策略,但更专业的时候,图片加载框架一般用SDWebImage,正如主流APP(如QQ和微信)会用到。...使用GCD和ARC 2. 支持的图像格式 ---- UIImage支持的图像格式(JPEG,PNG,...)包括GIF WebP格式,包括动画WebP(使用WebP subspec) 3....系统要求 ---- iOS 7.0或更高版本 tvOS 9.0或更高版本 watchOS 2.0或更高版本 OS X 10.8或更高版本 Xcode 7.3或更高版本 向后兼容性 对于iOS 5和6,使用..."http://www.domain.com/path/to/image.jpg"), placeholderImage: UIImage(named: "placeholder.png")) 有关如何使用库和清除示例的详细信息...Podfile示例: pod 'SDWebImage/WebP' 10.2 使用Carthage安装(iOS 8+) Carthage是Swift和Objective-C的轻量级依赖管理员。

    3.7K20

    Sourcery 的 Swift Package 命令行插件

    Sourcery 通过扫描一组输入文件,然后借助模板的帮助,自动生成模板中定义的 Swift 代码。...本文通过提供一个 .sourcery.yml 文件来配置 Sourcery 插件。如果提供了配置文件或 Sourcery 可以找到配置文件,则将忽略与其值冲突的所有命令行参数。...创建插件包 让我们首先创建一个空包,并去掉测试和其他我们现在不需要的文件夹。然后我们可以创建一个新的插件 Target 并添加 Sourcery 的二进制文件作为其依赖项。...Sourcery 使用缓存来减少后续运行的代码生成时间,但问题是这些缓存是在包文件夹之外读取和写入的文件。...和往常一样,我非常致力于公开构建,并使我的文章中的所有内容都开源,这样任何人都可以提交问题或创建任何具有改进或修复的 PRs。这没有什么不同, 这是 公共仓库的链接。

    1.2K20

    iOS开发常用之图像浏览及处理

    GPUImage2.swift - Swift版基于GPU图像和视频处理框架库。...AFImageHelper - swift,一套针对UIImage和UIImageView的实用扩展库,功能包含填色和渐变,裁剪,缩放以及具有缓存机制的在线图片获取。...HZPhotoBrowser - 一个类似于新浪微博图片浏览器的框架(支持显示和隐藏动画;支持双击缩放,手势放大缩小;支持图片存储;支持网络加载gif图片,长图滚动浏览;支持横屏显示)。...YYImage - 功能强大的iOS图像框架,支持大部分动画图像,静态图像的播放/编码/解码。 PagingView.swift - 注重细节的自动布局分页视图组件。...DouBanMeinv.swift - 抓取豆瓣美女图片,瀑布流显示。 ZZPhotoKit - 基于照片和AVFoundation框架开源,相册多选与相机连拍。

    4K60

    iPhone 激活量跌至六年来新低 | Swift 周报 issue 52

    苹果曾经在智能手机市场上占据主导地位,但现在面临来自 Android 设备的激烈竞争,Android 设备目前占据了新激活市场三分之二的份额。...这种改变的行为将会破坏源代码兼容性,因为它增加了更严格的命名查找要求。有很多现有的 Swift 代码需要更新以遵守这些新规则,要么是在某些源文件中增加额外的导入语句,要么是将代码整理到不同的文件中。...框架与 Python 的 NumPy 包的性能对比的讨论。...然而,对于需要高性能的低级原语和数据结构,互斥体或无锁算法是首选。互斥体和参与者之间的决定取决于关键部分的长度以及逻辑和状态是否需要封装在一个地方等因素。...虽然他们发现教程很有帮助,但他们很难找到有关优化可执行文件和导航非 UI 项目的 Swift 生态系统的综合资源。 他们想知道这种困难是否源于 Swift 对 UI 工作的关注或其年轻的生态系统。

    28232

    Apple的Core ML3简介——为iPhone构建深度学习模型(附代码)

    近年来,他们取得了一些惊人的进展,包括Core ML和我个人最喜欢的Swift编程语言。 Core ML 3是一个框架,支持iPhone的一些功能,比如FaceID、Animoji和增强现实AR。...让我们了解一下每个工具或框架。 1)Turi Create 这应该是你的首选框架,如果你想添加推荐,对象检测,图像分类,图像相似性或活动分类等任务到你的应用程序。...这个框架最吸引人的地方是它的代码和Python的代码一样易读。以下是相同的模型在Swift和Python的不同表达(注意相似性): ?...如果你想执行图像分析任务,如人脸或地标检测、文本检测、条形码识别、图像配准和一般特征跟踪,那么视觉就是你的选择。 ?...首先,CoreML3允许我们导入主流的Python框架中训练过的机器学习或深度学习模型: ? 我们在前面的一篇文章中已经介绍了Core ML 3的这个功能。

    2.1K20

    Swift开发:自定义标签栏UITabBarController (Swift项目开始的第一步)

    在Swift的学习过程中,个人感觉虽说两种语言的相似度很大,但是Swift依然在代码风格上有着和OC很大的差异。...在总结了一些基本的用法之后,我尝试使用Swift自定义UITabBarController和UITabbar,开启这Siwft项目的关键一步,首先展示一下效果图: ?...屏幕快照 2017-07-15 上午11.22.57.png 这里首先删除工程文件下的ViewController.swift、Main.StoryBoard 和TARGETS下MainInterFace...屏幕快照 2017-07-15 下午1.46.26.png 这里做下说明,之所以创建这个plist文件是因为在之后创建视图控制器和标签按钮时会有很大的便利性,而且也十分方便真实开发过程中的需求更改。...rootViewController = MainTabBarController(); return true } 总结:以上就是在OC代码的基础上,使用Swift来自定义标签控制器的方法和步骤

    4.4K70
    领券