使用 GPUImagePerlinNoiseFilter 生成图像

Generate image with GPUImagePerlinNoiseFilter

我是 GPUImage 的新人。我想以给定的大小创建一个嘈杂的背景。似乎我应该使用 GPUImagePerlinNoiseFilter,但我不知道如何生成 图像。

let noiseFilter = GPUImagePerlinNoiseFilter()
noiseFilter.colorStart = GPUVector4(1, 1, 1, 0)
noiseFilter.colorStart = GPUVector4(1, 1, 1, 1)
noiseFilter.scale = 0.5

接下来我该做什么?

在提供的噪声发生器中,他们也使用输入图像(您设置大小和颜色),所以我认为我是正确的。 这是我的解决方案:

import UIKit

import GPUImage

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        let imageView = UIImageView(frame: CGRectMake(10, 50, 100, 100))
        imageView.image = createNoiseImage(CGSizeMake(100, 100), color: UIColor.whiteColor())
        view.addSubview(imageView)
    }

    private func createNoiseImage(size: CGSize, color: UIColor) -> UIImage {
        UIGraphicsBeginImageContext(size)
        let context = UIGraphicsGetCurrentContext()

        CGContextSetFillColorWithColor(context, color.CGColor)
        CGContextFillRect(context, CGRectMake(0, 0, size.width, size.height))

        let image = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext();

        let filter = GPUImagePerlinNoiseFilter()
        return filter.imageByFilteringImage(image)
    }
}

使用默认的过滤器参数,它会产生这个: