一个 CIImage 中有多个 CIFilter?

2024-01-09

我有两个 CIFilter,曝光和色调。我需要将过滤器组合到一个 UIImage 上。我该怎么办?下面是我到目前为止所拥有的一些代码......

CIFilter *hueFilter;
CIFilter *exposureFilter;
CIImage *adjustedImage;

hueFilter = [CIFilter filterWithName:@"CIHueAdjust"];
exposureFilter = [CIFilter filterWithName:@"CIExposureAdjust"];
[hueFilter setValue:[NSNumber numberWithFloat:5] forKey: @"inputAngle"];
[exposureFilter setValue:[NSNumber numberWithFloat:5] forKey: @"inputEV"];

adjustedImage = [CIImage imageWithCGImage:inputCGImage];
[hueFilter setValue:adjustedImage forKey:@"inputImage"];
[exposureFilter setValue:adjustedImage forKey:@"inputImage"];

核心图像过滤器可以一个接一个地链接在一起。我发现如果按照这个想法编写代码,代码会更容易阅读(和编写)。

CIFilter *hueFilter;
CIFilter *exposureFilter;
CIImage *inputImage; // assume this has already been created
CIImage *outputImage;

hueFilter = [CIFilter filterWithName:@"CIHueAdjust"];
[hueFilter setValue:inputImage forKey:kCIInputImageKey];
[hueFilter setValue:[NSNumber numberWithFloat:5] forKey:@"inputAngle"];
outputImage = [hueFilter valueForKey:kCIOutputImageKey];

exposureFilter = [CIFilter filterWithName:@"CIExposureAdjust"];
[exposureFilter setValue:outputImage forKey:kCIInputImageKey];
[exposureFilter setValue:[NSNumber numberWithFloat:5] forKey:@"inputEV"];
outputImage = [exposureFilter valueForKey:kCIOutputImageKey];

上面创建了第一个过滤器。请注意可用的键常量的使用。在块的末尾,已为图像设置了过滤器,但直到渲染图像后才实际执行计算。应用的任何新过滤器都将被组合起来以实现最有效的操作。

然后,下一个块应用下一个过滤器,使用第一个过滤器的输出作为第二个过滤器的输入。这可以根据需要重复多次。通过编写上述代码,您可以根据需要轻松打开/关闭过滤器,甚至可以对它们重新排序(如果有多个过滤器)。

苹果的文档非常好,有很多例子:核心映像编程指南 https://developer.apple.com/library/ios/documentation/graphicsimaging/Conceptual/CoreImaging/ci_tasks/ci_tasks.html.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

一个 CIImage 中有多个 CIFilter? 的相关文章

  • 在成为FirstResponder或resignFirstResponder的情况下将对象保持在键盘顶部?

    我目前在键盘顶部有一个 UITextField 当您点击它时 它应该粘在键盘顶部并平滑地向上移动 我不知道键盘的具体时长和动画类型 所以确实很坎坷 这是我所拥有的 theTextView resignFirstResponder UIVie
  • NSUserDefaults 多久同步一次?

    的文档NSUserDefaults说synchronise方法被定期调用 但没有提及频率 10分钟的谷歌搜索没有发现任何信息 发生的频率是多少synchronise方法调用 这是一个未公开的实现细节 可能甚至不是一个恒定的时间间隔 但是 您
  • 如何在 Firebase Analytics 事件中报告参数

    我用过Fabric with iOS在此之前 在同一分析事件中报告自定义参数非常容易 如下所示 Answers logCustomEvent withName saved border customAttributes image inde
  • 从 IOS 应用程序注销的完美方法是什么?

    下面的代码可以工作 但有一个错误 场景是 我首先登录进入应用程序系统 登录成功后 应用程序将设置 UserDefaults UserId 之后 我可以使用存储的 UserId 导航应用程序视图 一旦我进入设置和选项卡注销 这将清除 User
  • 在 IOS 中从 iPhone 删除资产(图片或视频)

    我正在开发一个 Iphone 应用程序 我可以使用 Assetslibrary 枚举资产并将它们加载到表视图中 用户可以在应用程序中删除一行 图片 视频 但如何直接从我的应用程序更新 Iphone 相册 否则 刷新时 表视图将重新加载之前删
  • 在 hooks 文件夹中使用节点脚本时,cordova 插件安装问题

    Cordova 3 4 hooks 未在 iOS 中正确安装提到的插件 我正在添加install plugins js进入文件夹project project root hooks after platform add其中有以下代码 usr
  • 具有动态警报正文的快速本地通知

    所以我可以创建一个像这样的本地通知 var localNotification UILocalNotification localNotification fireDate NSDate timeIntervalSinceNow 7 loc
  • 从 NavigationController 中删除 ViewController 后 AVPlayer 继续播放

    因此 我在项目中使用 ARC 当我添加 AVPlayerLayer 时 它工作得很好 但当我从 UINavigationItem 中弹出 UIViewController 时 视频继续在后台播放 有谁知道你会如何处理这个问题 这似乎是一件很
  • 使 iOS 应用程序与 iPhone 6 和 iPhone 6 尺寸兼容 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我创建了一个应用程序 其中使用 xib 进行布局 目前我使用两种不同的 xib 一种用于iPhone4 320 480 一种用于iPh
  • 更改导航项(栏)的背景颜色

    有没有一种简单的方法可以更改视图顶部导航项的背景颜色 我有一个基于导航的应用程序 我只希望一个视图获得另一种背景颜色 我主要使用 IB 创建视图 我找到了以下解决方案 未测试 float r 10 float g 55 float b 13
  • 对于使用 CCCrypt() 的 AES128,密钥可以长于 128 位吗?

    我正在使用CCCrypt https developer apple com library archive documentation System Conceptual ManPages iPhoneOS man3 CCCrypt 3c
  • HTML 分页

    有没有html分页的开源项目 我正在为 iPhone 开发一个应用程序 我想在 UIWebView 上显示 HTML 文件 并且不希望用户向下滚动以查看屏幕上未显示的剩余内容 我想在第二个 UIWebView 上显示剩余的内容 我怎样才能做
  • 在 iOS 中使用 FB SDK 是否需要 Facebook 的成功审核?

    现在我需要使用Facebook SDK来自我的 iOS 应用程序中的 Facebook 所以我填写了有关我的应用程序的信息developer facebook com应用程序详细信息 但是 当我用我的设备测试我的应用程序时 我可以发布到 F
  • AVCaptureDevice 找不到任何设备

    这行代码是我今天遇到的问题 macOS 应用程序 NSArray devices AVCaptureDevice devicesWithMediaType AVMediaTypeVideo 我更新Xcode后 系统总是让我空着devices
  • 添加/删除带有动画的 UITableViewCell?

    我知道这听起来像是一个愚蠢的问题 但我到处都看过 我怎样才能做到这一点 我知道如何使用 swype to delete 方法来执行此操作 但是我如何在该函数之外执行此操作 请发布一些代码示例 Thanks Coulton self tabl
  • 通过 renderInContext 定位要绘制的视图:

    我想画一个UIView在我目前的CGGraphicsContext 我画的是UIView via renderInContext 但它的位置不正确 始终位于左上角 我拥有所有的价值观UIView可用于绘制UIView CGRect fram
  • 如何从 AFNetworking 和 AFJSONRequestOperation 获取可变字典?

    我将 JSONKit 与 AFNetworking 的 AFHTTPClient 带有 AFJSONRequestOperation 一起使用 我似乎无法弄清楚如何触发使用 JSONKit 的 mutableObjectFrom 方法 而不
  • 高效创建 x 层深度的嵌套 for 循环

    这可能是一件简单的事情 但我需要创建一个循环结构 使其循环 y x 次以创建 x 和 y 的所有可能组合 例如 如果有 4 个 x 每个 x 有 2 个 y 我想做这样的事情 for int a 0 a lt y a for int b 0
  • ios - Gamekit 的 GKOctree 未找到元素

    我正在尝试使用GKOctree https developer apple com documentation gameplaykit gkoctree用于高效检索 3D 空间中的对象 然而 以下代码似乎没有按预期工作 import Gam
  • DatePicker 停止 CoreData 按预期工作

    我有一个应用程序 它保存 UIDatePicker 中的文本和日期 然后在您回到 UIDatePicker 中的该日期时显示该注释 效果很好 只有我发现将 UIDatePicker 日期设置为今天会停止 CoreData 工作 只有当我运行

随机推荐

  • 在 iOS 中从 NSDictionary 生成 JSON 字符串

    我有一个dictionary我需要生成一个JSON string通过使用dictionary 可以转换吗 你们能帮忙解决这个问题吗 Apple 在 iOS 5 0 和 Mac OS X 10 7 中添加了 JSON 解析器和序列化器 看NS
  • 在 Tomcat 上配置 PHP 会出现异常:UnsatisfiedLinkError

    我一直在尝试在 Tomcat 上使用 PHP 不要问为什么 我只是必须这样做 并且一直遵循使用 Tomcat 配置 PHP http toostep com trends configure php with tomcat以及一些使用 PE
  • 使用神经网络功能时出现错误

    我在可用的波士顿数据集上尝试了 R 中的神经网络 data Boston package MASS data lt Boston 只保留我们想要使用的变量 keeps lt c crim indus nox rm age dis tax p
  • Mongodb pymongo.errors.ServerSelectionTimeoutError:localhost:27017:[Errno 111]连接被拒绝,超时:30秒,

    我正在尝试本地连接到我的数据库 我已经在 MongoDB Compass 上建立了与数据库的连接 但是当我运行简单的代码时 出现以下错误 pymongo errors ServerSelectionTimeoutError localhos
  • macOS swift - 将数据保存到本地存储 - 最佳实践

    我是 macOS 开发的新手 我有一个应用程序 我需要将字符串 例如令牌 保存到某些本地存储 在关闭并打开应用程序后 我想检索该字符串 是否有可能只有我的应用程序才能检索该字符串 是不是最好写到txt文件或还有其他一些可能性 谢谢 这取决于
  • 如何从面板中加载的子用户控件访问父类功能/控件

    我有一个主窗体 其中包含一个面板 该面板将不同的用户控件加载到面板中 现在我需要从用户控件访问主窗体中的功能 下面我给出了我的代码 这是我的主要 Windows 窗体类 public partial class Form1 Form pub
  • 如何在 iPhone 中更改方向时更改视图控制器的视图?

    我正在开发一个支持 2 个方向的 iPhone 应用程序 我有这个视图控制器的 2 个 UIView 文件 我需要根据设备界面方向将相应的 UIView 文件设置到视图控制器 你能指导我如何改变方向吗 为什么要对两个方向使用两个视图 如果纵
  • 每次使用 pip 3 时如何解决“错误:外部管理环境”?

    错误信息 error externally managed environment This environment is externally managed gt To install Python packages system wi
  • 将自定义列添加到 Woocommerce 3+ 中的“我的帐户订单”表

    Woocommerce 3 5 x 在用户帐户 我的帐户 区域有一个特殊页面 其中显示用户以前的订单 此页面现在默认显示 5 列 这是 woocommerce 订单区域的屏幕截图 共有 5 列 我的订单 https i stack imgu
  • 如何在 R 中为蒙特卡洛创建更高效​​的模拟循环

    此练习的目的是创建营养摄入值的人群分布 早期数据中有重复的测量值 这些测量值已被删除 因此每一行都是数据框中唯一的人 我有这段代码 在使用少量数据框行进行测试时效果非常好 对于所有 7135 行 速度非常慢 我试图给它计时 但当我的机器上的
  • 条目压缩大小无效

    我使用称为 ASM 的字节码库来更改类文件 然后我想将每个类文件写回 jar 文件而不是填充类文件的文件夹中 我通过运行以下代码来做到这一点 当因未达到预期大小而引发 ZipException 时 即出现我的问题 java util zip
  • jQuery Datepicker 中的“今天”按钮不起作用

    我正在使用 jQueryUI Datepicker 并显示 今天 按钮 但这不起作用 它在演示中也不起作用 http www jqueryui com demos datepicker buttonbar http www jqueryui
  • Python pandas 与 OR 逻辑合并

    我正在搜索 但没有找到这个问题的答案 你可以使用 OR 逻辑执行 pandas 数据帧的合并吗 基本上 相当于使用 where t1 A t2 A OR t1 A t2 B 的 SQL 合并 我遇到一种情况 我将信息从一个数据库提取到数据帧
  • ORACLE SQL LISTAGG 未返回预期结果

    我正在运行 Oracle Database 11g Enterprise 11 2 0 4 0 PL SQL Release 11 2 0 4 0 并且在获取 LISTAGG 函数返回我期望的数据集时遇到一些问题 这是场景 我有一个看起来像
  • 将WAR部署到WebSphere 9需要3个小时

    过去将 WAR 部署到 WebSphere 8 5 5 0 需要 3 分钟 将相同的 WAR 部署到 WebSphere 9 0 0 2 需要 3 个小时 这是 WebSphere 9 0 0 2 中错误的表现吗 有人有类似的经历吗 更新
  • iphone界面发光效果问题

    我想在这个名为 convert 的应用程序中实现我认为是 UILabels 或者可能是自定义控件 的发光效果 我认为该应用程序看起来非常简洁 我正在尝试为我自己的应用程序实现类似的效果 有什么帮助吗 此致 david 替代文本 http w
  • 如何为 Excel 创建 GUI 插件?

    我在 Google 上进行了一些研究 但仍然找不到 Visual Studio 中的项目 我想为 Excel 创建一个 GUI 插件 例如带有 Windows 窗体的功能区上的停靠窗口 这是 Visual Studio 中的什么项目 我已经
  • 将控件添加到 Office 中的现有功能区组 (VSTO)

    我找到了很多关于如何向现有功能区添加新组的示例 这效果很好 我不知道如何将新控件添加到现有功能区上的现有组中 假设我想将自己的命令添加到 审阅 选项卡上的 校对 组中 我正在 VS2010 中为 Office2010 开发此程序 但我想同样
  • Spring Boot中增加Tomcat的连接超时

    如何增加超时 以便在处理响应之前 请求不会超时 Spring Boot 中的 Tomcat 设置 server tomcat max connections 2000 server tomcat max threads 200 server
  • 一个 CIImage 中有多个 CIFilter?

    我有两个 CIFilter 曝光和色调 我需要将过滤器组合到一个 UIImage 上 我该怎么办 下面是我到目前为止所拥有的一些代码 CIFilter hueFilter CIFilter exposureFilter CIImage ad