CIFilter后图像旋转

2023-12-08

我正在将 CIFilter 应用于肖像图像。由于某种原因,它顺时针旋转了 90 度。我怎样才能解决这个问题?我的代码如下

var imgOrientation = oImage.imageOrientation
var imgScale = oImage.scale


let originalImage = CIImage(image: oImage)

var filter = CIFilter(name: "CIPhotoEffect"+arr[sender.tag-1000])
filter.setDefaults()
filter.setValue(originalImage, forKey: kCIInputImageKey)

var outputImage = filter.outputImage
var newImage = UIImage(CIImage:outputImage, scale:imgScale, orientation:imgOrientation)


cameraStill.image = newImage

我猜问题出在这一行:

var newImage = UIImage(CIImage:outputImage, scale:imgScale, orientation:imgOrientation)

这不是将滤镜渲染到 UIImage 中的方式。你想做的就是打电话CIContext(options: nil)获取 CIContext,然后向该 CIContext 发送消息createCGImage:fromRect:获取 CGImage。现在将该 CGImage 转换为 UIImage,并且在执行此操作时,您可以应用方向。

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

CIFilter后图像旋转 的相关文章

随机推荐

  • 配置 JBoss 使用 JNDI 时出现问题

    我正在尝试在 JBoss 上运行的应用程序中使用 JNDI 将连接绑定到数据库 我做了以下事情 我创建了数据源文件oracle ds xml用相关的 xml 元素填充它
  • 网站图标未显示,我的图标不好

    如果我从另一个网站复制一个图标并进行测试 我就可以使用图标 但我自己的在 IE8 Chrome 中不起作用 我的图标是由 Visual Studio 创建的 32x32 24 位图标 我似乎总是无法使图标正常工作 我应该使用什么 我以为我可
  • 在 vb.net 中声明/打开 Excel 文件

    我已经尝试在 vb net 中声明或打开 Excel 工作表一段时间了 我已经读过vb net 中的 Excel 文件和其他链接 但它不起作用 我添加了 Microsoft Excel 12 0 对象库 包括我 Imports Micros
  • iTextSharp 和 Xamarin

    我正在尝试在 Xamarin 应用程序中使用 iTextSharp dll 但无法编译 因为我收到了此错误 Error Exception while loading assemblies System IO FileNotFoundExc
  • ControlTemplate Storyboard颜色动画问题

    我对彩色动画有疑问 这是我的来源
  • 如何在给定视图空间深度值和 ndc xy 的情况下恢复视图空间位置

    我正在编写一个延迟着色器 并试图将我的 gbuffer 包装得更紧密 但是 我似乎无法正确计算给定视图空间深度的视图位置 depth gt gl ModelViewMatrix vec4 pos xyz 1 z where pos is t
  • Android 设备未使用 adb 显示

    我已经为此搜索了很长时间 我已经尝试了所有我能找到的技巧 我一直在同一台设备上调试几个月 将应用程序完美地部署在其他完全相同的设备上 但是由于上星期 我无法再连接到它 通过 USB 连接设备 我可以听到计算机的声音警告已连接的设备 并且我可
  • 快速获取图像的亮度/光度

    我正在 php 中工作 并逐像素地检查每个图像以获得每个图像的平均亮度 这将是 CPU 密集型的方式 我已经浏览了 GD 和 imagemagick 文档 但还没有找到返回图像平均亮度的方法 这可以在这些库中快速完成 还是在另一个可以通过
  • 如何在 Postman 中编写全局函数

    我需要帮助编写一个通用函数来跨请求集合使用 这将有助于构建框架 我尝试过使用以下格式 以下函数在第一个函数的 测试 选项卡中声明 postman setGlobalVariable function function function1 p
  • 服务 chromedriver 意外退出。状态代码为:1

    我在 Google Colab 中运行此代码 它工作正常 但突然在 chromedriver 中出现此错误 我是 python 网络抓取的新手 Error WebDriverException Traceback most recent c
  • 使用 solrfacet stats 时如何分页?

    我已经通过 solr 方面统计信息从 solr 选择了所有记录 但我无法对它们进行分页 如何通过 pageSize 和 pageNum 进行分页 使用 solrfacet stats 时不能分页 因为使用 solrfacet stats 会
  • Pandas:to_csv() 得到了意外的关键字参数

    当我尝试使用数据帧 to csv 函数中的某些参数时 它会抛出 TypeError 例如 TypeError to csv gets an Unexpected keywords argument doublequote df to csv
  • Powershell:在特定的当前同级元素后添加新的 XML 元素

    我有一个 xml 列表 我希望在其中添加一个新的子元素
  • 如何使用 SQLite 将值转入列?

    我做了一张桌子叫tbl用这个代码 CREATE TABLE tbl Year int Album varchar 255 Artist varchar 255 Label varchar 255 Genre varchar 255 id i
  • 从对象数组内的数组返回唯一的数组值

    我找不到类似的问题 我有点卡住了 我有以下 JSON 数组 Name element1 Attributes 1 2 Name element2 Attributes 1 3 Name element3 Attributes 我正在尝试创建
  • 重新构造复数因子向量,千位后用逗号分隔

    我想重新格式化一个因子向量 以便它包含的数字有千位分隔符 该向量包含整数和实数 对于值或顺序没有任何特定规则 Data 特别是 我正在使用向量vec类似于下面生成的 content lt c 0 100 0 100 0 100 0 100
  • PowerShell 包装器将管道输入定向到 Python 脚本

    我正在尝试编写一个小工具 让我可以将命令输出通过管道传输到剪贴板 我已读完multiple answers在 Stack Overflow 上 但它们对我不起作用 因为它们不包含管道 或者因为它们没有使用函数 或者它们只是抛出错误 或者也许
  • 在 bash 脚本中批量 mv 或重命名 - 附加日期作为后缀

    经过大量搜索和反复试验 我无法进行批量处理mv or rename在文件目录上 我想做的是移动或重命名目录中的所有文件 以便mv d or renamed 文件有 date Y d m 添加到原来的后缀 所有原始文件都有唯一的前缀 但要么
  • 如何在 Holoviews 中设置活动工具

    有时我的情节会被绘制pan工具活跃 有时他们用pan and wheel zoom积极的 我愿意强行wheel zoom在渲染时处于活动状态 有没有办法做到这一点 自从 Holoviews 1 11 0 发布以来 原来的答案已经过时了 Ho
  • CIFilter后图像旋转

    我正在将 CIFilter 应用于肖像图像 由于某种原因 它顺时针旋转了 90 度 我怎样才能解决这个问题 我的代码如下 var imgOrientation oImage imageOrientation var imgScale oIm