0
我想知道我们如何在织物j中实现曝光过滤器。在一些R & DI之后知道我们可以使用basefilter在fabricjs中实现自定义过滤器,但我不知道用于实现曝光的计算过滤图像。任何帮助表示赞赏!如何使用fabricjs basefilter实现曝光图像过滤器?
我想知道我们如何在织物j中实现曝光过滤器。在一些R & DI之后知道我们可以使用basefilter在fabricjs中实现自定义过滤器,但我不知道用于实现曝光的计算过滤图像。任何帮助表示赞赏!如何使用fabricjs basefilter实现曝光图像过滤器?
曝光过滤器通常是一个gamma过滤器。
给你要纠正伽玛值,该alghoritm一般是这样的:
applyTo() {
for (let i = 0; i < length; i += 4) {
data[i] = Math.pow(data[i]/255, adjustment) * 255;
data[i + 1] = Math.pow(data[i + 1]/255, adjustment) * 255;
data[i + 2] = Math.pow(data[i + 2]/255, adjustment) * 255;
}
}
,其中数据是图像的imageData.data。
调整是1/gamma的地方。 因此对于伽玛1.5你调整将看起来像1/1.5
谢谢@ AndreaBogazzi.I已经尝试过这种逻辑。它似乎工作,但不正确。调整的负值,它只是使图像白色,而为正重视它的图像变暗。你能否给我建议我应该使用的范围值来达到预期的效果? – Ashish
对不起,请检查更正的答案。 – AndreaBogazzi
谢谢@ AndreaBogazzi.I已经使用反向调整值(就像你所建议的)增加曝光和减少曝光的正常值。似乎工作正常。你能帮我解决这个问题。 [链接](https://stackoverflow.com/questions/40840063/top-left-coordinates-not-updated-on-rotating-image-using-fabricjs) – Ashish