在 HD 图像上应用 WebGL 过滤器会剪切图像(fabric V2-beta-6)

uma*_*hfr 2 image fabricjs

目前正在使用fabric 2.0.6对高清图像应用过滤器。我需要在最短的时间内应用过滤器。为此,我使用 webGL 方法来应用这里解释的过滤器(fabric.js 演示)。如果您将其应用于大小 <= 1 MB 的图像,则它可以正常工作,但图像大小大于此大小时,过滤器确实应用得相当好,但它会在这样做时切割图像。附上测试图像并应用灰度滤镜以供参考

原始图像(大小 1.90 MB) 原始图像

在应用过滤器之前它是如何出现的 前

应用greyScale过滤器后如何显示 在此处输入图片说明

And*_*zzi 7

请如果您参考变更日志和解释:

http://fabricjs.com/fabric-filters

不是查看演示应用程序,您会注意到文档谈到了一个fabric.textureSize属性。

该限制与以兆字节为单位的大小无关,但与像素大小有关。

它设置为 2048,大小为基本设置,以容纳大多数旧硬件并为您提供最大 2048x2048 过滤器大小。

在启动您的应用程序之前将这个值提高到您认为您想要支持的最大大小。例如 4096。

如果超过 5000,您可能会失去对 ie11 的支持。

您必须注意两个限制:浏览器中的最大画布大小和用户使用的笔记本电脑硬件中的最大纹理大小。

  • 我将 Fabric.textureSize 增加到 4096,正如您所指示的,但图像仍然被剪切掉 (2认同)