根据您的代码和每个人的答案尝试此操作。在使用 Color Theif 之前,您需要等待图像加载。photo1.jpg 的颜色应该是 [125, 190, 193]
感谢@Shadow Wizard 和@ejegg
请参阅要求 jQuery 在执行某些操作之前等待所有图像加载的官方方式
编辑:好的,使用这个有效的小提琴http://jsfiddle.net/bgYkT/
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="js/color-thief.js"></script>
<style type="text/css">
#mydiv {
width: 100px;
height: 100px;
border: 1px solid #000;
}
</style>
</head>
<body>
<img src="img/photo1.jpg" id="myimg" />
<div id="mydiv"></div>
<script>
$(window).ready(function(){
var sourceImage = document.getElementById("myimg");
var colorThief = new ColorThief();
var color = colorThief.getColor(sourceImage);
document.getElementById("mydiv").style.backgroundColor = "rgb(" + color + ")";
});
</script>
</body>