【发布时间】:2013-10-20 09:35:57
【问题描述】:
是否可以处理仅在视图内容中可见的静止图像而不制作已处理的 UIImage 副本?例如,我在全屏视图中有 8 兆像素的图像被捏成实际像素,我只想处理屏幕上的内容。基本上我想要一个实时处理其内容(大多数情况下为图像)的“视口”。
谢谢, 托托
【问题讨论】:
是否可以处理仅在视图内容中可见的静止图像而不制作已处理的 UIImage 副本?例如,我在全屏视图中有 8 兆像素的图像被捏成实际像素,我只想处理屏幕上的内容。基本上我想要一个实时处理其内容(大多数情况下为图像)的“视口”。
谢谢, 托托
【问题讨论】:
当然。您要做的是从源图像创建 GPUImagePicture,然后将其定位到 GPUImageCropFilter,结果将发送到您要应用的过滤器,然后将结果发送到 GPUImageView。
裁剪过滤器可让您放大图像的特定区域,并且只有这些像素会发送到您的后处理过滤器进行显示。直接转到 GPUImageView 将是您拥有的最快显示路径。
随着过滤器的设置发生变化,或者源图像的裁剪区域发生变化,您需要在 GPUImagePicture 上调用 -processImage 以通过过滤器链传播这些更新。根据裁剪区域中剩余图像的大小、您运行的设备以及您尝试应用的过滤器的强度,这应该会为您提供所需的实时性能。
【讨论】: