【问题标题】:Filters are missing from Fabric.jsFabric.js 中缺少过滤器
【发布时间】:2018-12-09 18:41:29
【问题描述】:

我正在使用 CodePen 并将 Fabric.js 包含在 JavaScript 设置中。 CodePen 自动为我购买了 2.4.4 版本: https://cdnjs.cloudflare.com/ajax/libs/fabric.js/2.4.4/fabric.min.js

当我尝试使用 Tint 过滤器时,我在浏览器控制台中收到 its not a constructor 错误。

但是,Fabric.js 文档中已经提供了 Tint 过滤器:http://fabricjs.com/docs/fabric.Image.filters.Tint.html

我也做了:console.log(fabric.Image.filters);,输出是:

BaseFilter: ƒ i(), 
BlackWhite: ƒ i(), 
BlendColor: ƒ i(), 
BlendImage: ƒ i(), 
Blur: ƒ i(), 
Brightness: ƒ i(), 
Brownie: ƒ i(), 
ColorMatrix: ƒ i(), 
Composed: ƒ i(), 
Contrast: ƒ i(), 
Convolute: ƒ i(), 
Gamma: ƒ i(), 
Grayscale: ƒ i(), 
HueRotation: ƒ i(), 
Invert: ƒ i(), 
Kodachrome: ƒ i(), 
Noise: ƒ i(), 
Pixelate: ƒ i(), 
Polaroid: ƒ i(), 
RemoveColor: ƒ i(), 
Resize: ƒ i(), 
Saturation: ƒ i(), 
Sepia: ƒ i(), 
Technicolor: ƒ i(), 
Vintage: ƒ i()

如您所见,Tint 滤镜甚至在滤镜中不可用。

另外,尝试使用 fabricjs.com 本身的版本,使用底部的下载链接(下载版本 2.4.3):http://cdnjs.cloudflare.com/ajax/libs/fabric.js/2.4.3/fabric.min.js

但是,这个版本也有同样的问题。

【问题讨论】:

  • 尝试在面料后手动添加色调代码,raw.githubusercontent.com/fabricjs/fabric.js/…
  • @kobe:谢谢,但我想知道为什么fabric.min.js 中不包含所有类。文档也不清楚,也没有说明应该单独包含类。我不想为此做任何临时解决方法。
  • 你说得对,我发布了正确的答案,没有任何技巧
  • @kobe:谢谢,是的,这正是我想要的。
  • 我在 github 上打开了一个 issue 来更新文档:github.com/fabricjs/fabric.js/issues/5423

标签: javascript fabricjs


【解决方案1】:

我进行了一些调查,以找到色调过滤器消失的地方。 查看提交: https://github.com/fabricjs/fabric.js/commit/e96ccf9ea64df529cbbbea869561a5a8da2cf1ac#diff-92d93b4f6664e4db62af0f12768dfe56R39

Tint 没有消失,但是代码已经改变,要使用 tint filter 你应该写:

var filter = new fabric.Image.filters.BlendColor({ color: 'red', mode: 'tint', alpha: 0.5 });

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-10-02
  • 2016-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-29
  • 2017-02-22
相关资源
最近更新 更多