ios - 使用 GPUImagePerlinNoiseFilter 生成图像

标签 ios swift image-processing gpuimage

我是新来的 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)
    }
}

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

enter image description here

关于ios - 使用 GPUImagePerlinNoiseFilter 生成图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32350527/

相关文章:

ios - 如何在 swiftUI 中使图像可点击?

java - 我想检测图像中的对象并在另一个页面中重绘它,所以有人会建议可以使用哪种算法?

c++ - OpenCV Draw 绘制 2 个最大对象的轮廓

python - 如何使 ndimage.filters.maximum_filter 像 MATLAB 的 imregionalmax 函数一样工作?

ios - 使用 vDSP 打包实数到复数 FFT 2d

ios - 无法在 UIView 中将自定义类设置为 GLKView

ios - 使用自定义图层时删除标签栏背景

ios - fatal error : unexpectedly found nil while unwrapping an Optional value during videoURL uploading on Instagram

swift - UIViewController 的便利 init 中调用了什么初始化程序?

ios - 执行点击关闭后将结果传递给 UITableViewCell 内的 Button?