首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS使用CIFilter缩放/扭曲图像的特定部分

iOS使用CIFilter缩放/扭曲图像的特定部分
EN

Stack Overflow用户
提问于 2019-03-11 15:02:20
回答 3查看 278关注 0票数 0

用例是检测图像中的某物,并向外缩放/变形,就像你通过放大镜看到的那样。

现在我知道放大的点,但是我需要一个CIFilter,它可以做同样的事情。

尝试过CIHoleDistortion,但没有起作用。这些文档对我来说似乎很好,它应该可以工作,但它只会造成一个黑洞,它周围的区域被扭曲了。

代码语言:javascript
复制
let distortion = CIFilter(name: "CIHoleDistortion")
distortion.setValue(sourceImage, forKey: kCIInputImageKey)
distortion.setValue(CIVector.init(cgPoint: CGPoint.init(x: 200, y: 200)), forKey: "inputCenter")
distortion.setValue(NSNumber.init(value: 100), forKey: "inputRadius")

以下是测试结果:

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-03-11 16:17:54

CIBumpDistortion怎么样?

票数 1
EN

Stack Overflow用户

发布于 2022-01-21 15:23:43

另一个(也许更好)选项是使用CIGlassLozenge过滤器:

  1. inputRefraction设置为略大于1的东西(例如1.06)
  2. inputPoint0inputPoint1与变焦点的坐标对齐
  3. 用半径来达到预期的效果。所附示例使用radius 1000。

如果您想实时地使用此过滤器(以及任何其他250个CIFilters中的任何一个),请查看此应用程序:https://apps.apple.com/us/app/filter-magic/id1594986951

票数 1
EN

Stack Overflow用户

发布于 2022-01-19 04:37:26

正如上面提到的CIBumpDistortion,但是scale参数实际上是这样工作的:scale < 0 ->凹;scale > 0 ->凸。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55104785

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档