如何设置GPUImage2仅使用几个过滤器?

时间:2017-08-02 10:33:15

标签: ios swift gpuimage

我想在我的swift项目中只使用GPUImage2中的几个过滤器,如何将GPUImage2定制为我需要的几个过滤器?

我不熟悉代码库,我也没有看到任何相关文档。

P.S。我关注的主要是应用程序大小,如果包括所有内容都不会使应用程序大小膨胀,我可以整体导入GPUImage。

1 个答案:

答案 0 :(得分:2)

对于想要通过仅仅提供他们所需的操作来缩小二进制大小的人来说,这是一个常见的问题,因此我将看看我是否可以提供规范参考。

最简单的方法是从项目中删除对GPUImage的依赖,而是手动将只需要构建框架核心组件所需文件的文件复制到项目中。与平台无关的核心文件包括:

  • CameraConversion.swift
  • SerialDispatch.swift
  • BasicOperation.swift
  • Color.swift
  • FillMode.swift
  • Matrix.swift
  • OpenGLContext_Shared.swift
  • Timestamp.swift
  • OpenGLRendering.swift
  • ShaderProgram.swift
  • ShaderUniformSettings.swift
  • Framebuffer.swift
  • FramebufferCache.swift
  • Position.swift
  • Size.swift
  • Pipeline.swift
  • ImageOrientation.swift

以下文件也需要提供,但它们具有特定于平台(Mac,iOS或Linux)的变体,因此您需要选择适合您特定平台目标的文件,或者选择将它们包括在内。你的各个目标:

  • PictureInput.swift
  • PictureOutput.swift
  • MovieInput.swift
  • MovieOutput.swift
  • Camera.swift
  • OpenGLContext.swift
  • RenderView.swift

使用这些文件,您应该能够构建一个能够以与GPUImage相同的方式执行图像处理的项目,但不需要很长的操作列表。如果您要执行一个或两个操作,则可以选择性地将这些文件复制到项目中。如果它们是从另一个操作子类化的,则可能需要复制一个或两个依赖项。