【发布时间】:2021-02-22 02:00:57
【问题描述】:
我在 Swift 上使用 GPUImage 苦苦挣扎了几天,我认为是时候寻求帮助或至少寻求线索了。
我想做的是用 GPUImage 调整 NSImage 的曝光,但到目前为止我在这方面失败了。
我的代码适用于 SmoothToonFilter 之类的滤镜,但我似乎无法为 ExposureAdjustment 滤镜设置曝光参数...而且我不知道如何解决这个问题。
smoothSmoothToonFilter 的作用如下:
filteredImage = filteredImage?.filterWithOperation(GPUImage.SmoothToonFilter()
.. 虽然这不是:
filteredImage = filteredImage?.filterWithOperation(GPUImage.ExposureAdjustment() )
它也不接受我这样做:
filteredImage = filteredImage?.filterWithOperation(GPUImage.ExposureAdjustment(5.0) )
或者这个:
filteredImage = filteredImage?.filterWithOperation(GPUImage.ExposureAdjustment(exposure: 5.0) )
虽然 GPUImage 项目中的 ExposureAdjustment.swift 清楚地(对我来说,无论如何)表明有一种方法可以设置它......
public class ExposureAdjustment: BasicOperation {
public var exposure:Float = 0.0 { didSet { uniformSettings["exposure"] = exposure } }
public init() {
super.init(fragmentShader:ExposureFragmentShader, numberOfInputs:1)
({exposure = 0.0})()
}
}
我知道这个问题完全是我缺乏知识的错,但我真的尝试自己解决这个问题,直到它让我完全发疯......我真的很感激一些帮助,所以我可以继续我的 Swift 实验...提前致谢!
【问题讨论】: