Ios 通过gpuimage2 swift中的滑块控制将过滤器强度(如亮度)从0更改为100
我遵循了GPUImage2示例中更改摄像机上的过滤器强度的示例,我尝试使用iOS滑块控件更改静态图像上的过滤器强度,但它不会更改强度Ios 通过gpuimage2 swift中的滑块控制将过滤器强度(如亮度)从0更改为100,ios,swift,gpuimage,Ios,Swift,Gpuimage,我遵循了GPUImage2示例中更改摄像机上的过滤器强度的示例,我尝试使用iOS滑块控件更改静态图像上的过滤器强度,但它不会更改强度 @IBOutlet weak var renderView: RenderView! var filterContrast:ContrastAdjustment! @IBOutlet weak var sliderContrast: UISlider! let inputImage = UIImage(named:"WID-sma
@IBOutlet weak var renderView: RenderView!
var filterContrast:ContrastAdjustment!
@IBOutlet weak var sliderContrast: UISlider!
let inputImage = UIImage(named:"WID-small.jpg")!
var picture:PictureInput!
// setting dynamic observable property.
dynamic var filterValue = 3.0 {
didSet {
filterContrast.contrast = GLfloat(filterValue)
picture.processImage()
}
}
关于viewDidLayoutSubviews
picture = PictureInput(image: inputImage)
filterContrast = ContrastAdjustment();
picture --> filterContrast --> renderView
filterValue = 3; // will call did set property and call processimage from it
关于滑块更新
filterValue = Double(nm);
这种方法有什么不对吗
谢谢每次滑块值更改时,您都会创建一个新的对比度调整过滤器实例并将其附加到图片上。旧的过滤器实例仍然存在,RenderView将忽略第一个输入之外的任何输入。事实上,您应该在控制台上看到警告,告诉您正在向RenderView添加太多输入 不必每次都创建一个全新的对比度调整过滤器,只需将对比度过滤器保存为实例变量,并在滑块更改时调整其
对比度
属性即可