GPUImage Swift HelloWorld示例

sud*_*all 6 gpuimage swift

我正在尝试在Swift中设置一个hello-world-type型GPUImage示例.代码构建没有错误,但我得到一个没有图像的纯白色屏幕.GPUImageView在故事板中更改为红色的背景颜色会更改设备上的颜色,但使用setBackgroundColorRed(...)该类的方法无效.

以下是我设置的步骤:

  1. 已安装GPUImage使用的CocoaPods
  2. 关闭项目并重新开放 .xcworkspace
  3. 放入#include "GPUImage.h"桥接文件头
  4. 将通用拖动UIView到故事板中,添加autolayout约束,将其类更改为GPUImageView,并在我的ViewController班级中创建了一个插座
  5. GPUImagePicture从我的应用程序包中的照片创建了一个
  6. 添加了视图作为图片的目标并处理了图像
import UIKit

class ViewController: UIViewController {

    let image = GPUImagePicture(image: UIImage(named: "cameraman.png"))
    @IBOutlet weak var imageView: GPUImageView!

    override func viewDidLoad() {
        super.viewDidLoad()

        self.image.addTarget(self.imageView)
        self.image.processImage()
    }

}
Run Code Online (Sandbox Code Playgroud)

如果我打印出来imageView或者image我得到非空的指针,并且它imageView有一个非零看的帧.奇怪的是,我在其他项目中使用了GPUImage而没有任何问题,并且无法想象这次我做了什么不同 - 我确定它是一个非常小的东西,我不知道,但我似乎无法把我的手指在上面.我在这里上传了这个项目:

https://bitbucket.org/DVigneault/stack/downloads

编辑:

我正在使用XCode 6.3和iOS 8.3

编辑2:

更新到XCode 6.3.1后的结果相同

编辑3:

如果我加self.image.processImage()viewDidAppear,我得到了想要的结果(即,显示图像).我发现,GPUImage在我过去使用过的任何时候,我都会processImage()在视图出现后至少打过一次电话.视图出现后是否总是需要打电话processImage()