【发布时间】:2023-03-10 11:43:01
【问题描述】:
我正在努力在反应应用中添加颜色小偷。我已按照 github 上的说明进行操作,但没有任何变化。 我已经应用了建议报告here,然后将脚本插入到 setTimeout 函数中,但我总是得到同样的错误:
你能帮我在反应中运行这个库(或类似的库,如果你有替代品)?
到目前为止,这是我的代码:
import React from 'react';
import './App.css';
var ColorThief = require('color-thief');
function App() {
setTimeout(function(){
var colorThief = new ColorThief();
var img = 'img.jpg';
var palette = colorThief.getPalette(img, 8);
var dominant = colorThief.getColor(img);
console.log(palette);
console.log(dominant);
document.getElementById("app").style.backgroundColor = "rgb(" + dominant + ")";
}, 3000);
return (
<div id="app"></div>
);
}
export default App;
【问题讨论】:
-
getPalette/getColor不需要字符串作为参数。 -
那我怎么传图片呢?
-
对于
getColor,有一个getColorFromUrl,但是既然你还需要getPalette,我建议你看看github.com/lokesh/color-thief/blob/…的源代码创建一个图像元素,然后在它加载之后,将其传递给您已经使用过的函数。 -
不幸的是,这也不起作用。为了详细起见,我 console.log 了 colorThief var,结果它是一个空对象。这意味着 var ColorThief = require('color-thief');不返回任何东西。有什么建议吗?
-
您找到解决方案了吗?因为我正在为此苦苦挣扎
标签: javascript reactjs color-thief