gpt4 book ai didi

ios - CIImage 和 CIFilter 实现细节

转载 作者:行者123 更新时间:2023-11-29 02:56:29 25 4
gpt4 key购买 nike

我对Core Image系统的底层实现有疑问。我在彼此之上添加了一些 CIImages。不是很多,大概有五六个吧。为了节省内存和性能,它们都裁剪了透明像素。然后按偏移绘制它们,因此我使用 @"CIAffineTransform" 过滤器来定位它们。

CIFilter* moveFilter = [CIFilter filterWithName:@"CIAffineTransform"];

我的问题是: moveFilter.outputImage 是否真的生成新图像,或者它是否生成稍后用于绘制实际图像的“渲染设置”?

(如果是第一个,那就意味着我有效地渲染了图像两次。这将是 Core Image API 中的一个巨大缺陷,很难相信 Apple 是这样创建的。)

最佳答案

过滤器不产生任何东西。 outputImage 不生成任何东西。 CIImage 不生成任何东西。您所做的只是构建一个过滤器链。

除非您明确要求渲染到位图,否则渲染不会发生。您可以通过以下两种方式之一执行此操作:

  • 调用 CIContext createCGImage:fromRect:

  • 实际将基于 CIImage 的 UIImage 绘制到图形上下文中。

关于ios - CIImage 和 CIFilter 实现细节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23833626/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com