先看看我的代码
getMainColor: function(imgUrl){
var mainColor = '191,0,0';
var canvas = document.createElementNS("http://www.w3.org/1999/xhtml", "html:canvas");
var canvas = canvas.getContext('2d');
var logoImg = new Image();
logoImg.onload = function() {
logoImg.onload = null;
try {
var notColorList = new Array('0,0,0', '255,255,255');
canvas.width = logoImg.width;
canvas.height = logoImg.height;
canvas.drawImage(logoImg, 0, 0, logoImg.width, logoImg.height);
var imageData = canvas.getImageData(parseInt(logoImg.width / 3), parseInt(logoImg.height / 2), 1, 1).data;
var imageDataRgba = imageData[0] + ',' + imageData[1] + ',' + imageData[2];
if (notColorList.indexOf(imageDataRgba) > -1 || Luger.isWhite(imageData[0], imageData[1], imageData[2])) {
imageData = canvas.getImageData(parseInt(logoImg.width / 2), parseInt(logoImg.height / 2), 1, 1).data;
imageDataRgba = imageData[0] + ',' + imageData[1] + ',' + imageData[2]
}
if (notColorList.indexOf(imageDataRgba) == -1 && !Luger.isWhite(imageData[0], imageData[1], imageData[2])) {
mainColor = imageDataRgba
}
return mainColor;
} catch (err) {} // css('borderBottomColor', 'rgba(' + mainColor + ',.6)')
};
logoImg.src = imgUrl;
},
我这是想返回mainColor 但是这么返回什么也得不到,如果放到onload外面,里面的还没执行就返回了,返回的是默认值,我想等onload执行完获取值后再返回请问怎么做。谢谢
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
认证0级讲师