fabricjs - 由于“最大纹理大小”,FabricJS 无法将过滤器应用于大图像
问题描述
我可以通过一些帮助来理解面料的含义:最大纹理尺寸:16,384 - 16,384 什么?我使用的图像是 5MP (2560 x 1920) 并尝试对图像应用过滤器,如下所示:
object.filters.push(new fabric.Image.filters.Sepia());
object.applyFilters();
图像对象消失,上面的消息出现在控制台中。如果图像< 2MP,我似乎只能对图像应用过滤器,这根本不理想。我真的不知道最大纹理大小是什么意思。
那么这是什么意思,我怎样才能让它允许更大尺寸图像上的过滤器呢?
解决方案
您可以根据为用户机器检测到的最大 textureSize 设置 Fabric 的 alotted textureSize,方法是运行:
if (fabric.isWebglSupported()) {
fabric.textureSize = fabric.maxTextureSize;
}
请注意,运行fabric.isWebglSupported()
似乎是计算所必需的fabric.maxTextureSize
。否则,它将返回未定义。
推荐阅读
- jenkins - Sonar-Gerrit Jenkins 插件未报告有关 Gerrit 的问题
- mongodb - 如何在 MongoDB 聚合中同时使用 $slice 和项目特定字段?
- c# - Azure 功能在主机 json 文件中设置 autoRenewTimeout 不起作用
- microsoft-graph-api - 无法在 ms 团队聊天中显示 iframe
- postgresql - 查询子字段的对象的 JSONB 数组
- javascript - 使用 Moment JS 用其他语言(如阿拉伯语或印地语)本地化日期时以英语显示数字
- javascript - 如何使 node-fetch 仅提取特定参数?
- flutter - 如何向 Sentry 提交异常以便我可以在问题中找到它?
- python - Python Pandas:按列和组大小分组
- python-3.x - 在 tkinter 中使用几何管理器 .grid 时遇到一些问题