由于 "Max Texture Size",FabricJS 无法对大图像应用滤镜

标签 fabricjs fabricjs2

我需要一些帮助来理解织物的含义:最大纹理尺寸:16,384 - 16,384 什么?我使用的图像是 5MP (2560 x 1920),并尝试对图像应用滤镜,如下所示:

object.filters.push(new fabric.Image.filters.Sepia());
object.applyFilters();

图像对象消失,上面的消息出现在控制台中。我似乎只能对 < 2MP 的图像应用滤镜,这根本不理想。我真的不知道最大纹理大小意味着什么。

那么这是什么意思以及如何让它允许在更大尺寸的图像上使用滤镜?

最佳答案

您可以通过运行以下命令根据为用户计算机检测到的最大纹理大小来设置 Fabric 的分配纹理大小:

 if (fabric.isWebglSupported()) {
            fabric.textureSize = fabric.maxTextureSize;
 }

请注意,运行fabric.isWebglSupported()似乎是计算fabric.maxTextureSize所必需的。否则,它将返回未定义。

关于由于 "Max Texture Size",FabricJS 无法对大图像应用滤镜,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51483856/

相关文章:

javascript - 如何使用 fabricjs 设置文本背景颜色

javascript - Fabric.js Canvas 图像抗锯齿

javascript - fabricjs:在 loadFromJSON 之后保留对象图像过滤器的正确索引

svg - Fabricjs:v2.2.1 如果 SVG 上仅存在单个路径,SVG 路径存储在 Fabric 对象上的位置

jquery - 切换 Angular 以将文本移动到 fabricjs 中的原始位置

javascript - 在 fabric js 中使用事件处理程序 (.on) 将数据发送到函数

javascript - 在 Fabric 对象移动事件中获取 x/y 偏移

javascript - 在 FabricJS 中调整窗口大小时如何始终使剪切区域居中?

javascript - 我如何以编程方式 "highlight"对象,而不实际 "selecting"对象

javascript - FabricJS: Angular 6 形状选择问题