画像に強制的に配置しているグラデーションがあります。例:
ヘッダーの背景色を画像と同じにするために、画像の左上のピクセルをサンプリングする必要があります。
これが私が試したことです。近いようですが、完全に正確ではありません...
elem = document.createElement('canvas');
isCanvasSupported = !!(elem.getContext && elem.getContext('2d'));
analyseAndDraw($('img#load').get(0));
function analyseAndDraw(image) {
if (isCanvasSupported) {
// Create the canvas and context
var can = document.createElement('canvas');
var ctx = can.getContext('2d');
// Set the canvas dimensions
$(can).attr('width', image.width);
$(can).attr('height', image.height);
// Draw the image to the canvas
ctx.drawImage(image, 0, 0, image.width, image.height);
var data = ctx.getImageData(0, 0, 1, 1).data;
var newColour = 'rgb(' + [data[0], data[1], data[2]] + ')';
//Set the header background to the average RGB value
$('body').css('background', newColour);
} else {
$('body').css('background', 'transparent');
}
}
私は何を間違っていますか?