如何解决Konvajs 灰度关闭
我使用 Konvajs 过滤器让用户能够更改图像的亮度、对比度和灰度。 根据 KonvaJs 示例,我使用的输入滑块效果很好。 对于亮度和对比度,我正在使用:
image.filters([Konva.Filters.Brighten,Konva.Filters.Contrast]);
但对于灰度,我使用输入滑块作为开/关开关和以下过滤器:
image.filters([Konva.Filters.Grayscale]);
因此,当用户将灰度开关设置为“开”时,我可以调用灰度过滤器。 但是,如果用户随后将灰度切换为“关闭”,则似乎无法取消此过滤器。
我有一个涉及取消所有过滤器的解决方法:
image.filters([]);
然后重新调用亮度和对比度过滤器到先前设置的值。 有没有办法简单地取消灰度滤镜?
解决方法
删除 Konva.Node
过滤器的唯一方法是将其从 filters
属性中删除。因此,如果您想重置过滤器或启用/禁用它们,您应该执行以下操作:
const filters = [];
if (needBrighten) {
filters.push(Konva.Filters.Brighten);
}
if (needContrast) {
filters.push(Konva.Filters.Contrast);
}
if (needGrayscale) {
filters.push(Konva.Filters.Grayscale);
}
node.filters(filters);
您可能需要从输入中检测 needBrighten
等变量。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。