温馨提示:本文翻译自stackoverflow.com,查看原文请点击:javascript - Color-Thief Node plugin error: "Image given has not completed loading"
express javascript node.js npm color-thief

javascript - Color-Thief Node插件错误:“给定的图像尚未完成加载”

发布于 2020-04-09 10:30:06

在Node / Express中工作时,我想获取npm包color-thief来从图像中获取主色,但是失败了,因为“给定的图像尚未完成加载”。

图像还是本地的,因此它应该有这个特殊的问题。除此之外,还color-thief返回一个Promise,并且我正在使用async / await,因此它应该等待加载图像所需的时间而不是抛出错误。

以下是我的SSCCE代码:

const ColorThief = require('color-thief');

let colorThief = new ColorThief();

async function getDominantColor() {
    const img = 'public/img/seed/big-waves-2193828__340.webp';
    const dominantColor = await colorThief.getColor(img);
    console.log(dominantColor);
}

getDominantColor();

查看更多

提问者
R Greenstreet
被浏览
119
R Greenstreet 2020-02-01 01:57

问题出在该插件显然不支持.webp文件。

.jpg和和可以很好地工作.png,尽管“ 文档”(不易获取)没有明确说明它支持/不支持的文件类型。

我已经在Github上提交了功能请求,以添加对webp的支持或使用支持的文件类型的显式列表更新文档,但是作者在其博客的最底端指出了该项目:

“短期内,我不打算在脚本上做更多的工作。”

只是想出我将来会设法节省使用此方法的其他人的一些麻烦和时间