问题描述
我在画布上使用 Fabric Js 版本 1.6.4,但我在预览大尺寸时使用 Fabric Js 版本 4.x。 在 fabric 1.x 中,模糊、亮度、噪声、色调、饱和度和对比度等过滤器的值范围为 1 到 100。如何将此值转换为 0 到 1 或 -1 到 1 之间的 4.x 过滤器值。但是,我通过引用 this 设法转换了几个过滤器。
例如:
Brightness range 1.x = 70
(Conversion to 4.x) = (Brightness range 1.x) / 255
Contrast range 1.x = 50
(Conversion to 4.x) = (Contrast range 1.x) / 255
但是我无法使用上述计算转换噪声,因为噪声过滤器在 4.x 中的范围在 100 到 1000 之间。 我尝试过如下操作。
{ name: "Noise",obj: function (range) {
range = (range / 255) * 100;
return new fabric.Image.filters.Noise({
noise: parseFloat(range)
});
}
}
但它没有按预期工作,但是以下方法给出了最接近的结果,但没有正式记录,我假设乘数为 200。
{ name: "Noise",obj: function (range) {
range = (range / 255) * 200; /* Assumed 200 multiplier because there were no doc how to convert
return new fabric.Image.filters.Noise({
noise: parseFloat(range)
});
}
}
- 为什么我们必须将亮度除以 255 而实际上我们必须除以 100 才能获得 0 到 1 之间的范围?
- 如何转换 1.x 版本的噪声和模糊(如果将旧值除以 255,则模糊无法按预期工作,除以 100 给出最接近的结果)值以匹配 4.x 版本?
请参考是否有任何其他官方文档用于所有过滤器转换。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)