поэтому я пытаюсь получить цвет изображения, которое я добавил как текстуру, и отобразить значение цвета, однако все коды, которые я использовал, выводят значения, которые не соответствуют тому, что я хочу, и я не знаю причину этого, последний код, который я попробовал, это тот, который загружен на мой mrdoob, он отображает цвет, но не то значение, которое я ожидаю здесь, это изображение моей веб-страницы с включенной сценой, я хотел бы получить значение цвета во главе робот
вот где я получил свой код https://github.com/mrdoob/three.js/issues/758
function colourSensorFunctionImage3() {
var imagedata = getImageData( imgTexture.image );
document.addEventListener("mousemove", onDocumentMouseMove, false);
toScreenPosition(cube2, camera);
var x = pixelX.toFixed();
var y = pixelY.toFixed();
console.log( x ,y)
//var color = getPixel( imagedata, x, y);
var color = getPixel( imagedata, -1214, 299 );
//console.log ( pixelX.toFixed(), pixelY.toFixed())
document.getElementById("Colour").innerHTML = color.r + " " + color.g + " " + color.b;
}
function getImageData( image ) {
var canvas = document.createElement( 'canvas' );
canvas.width = image.width;
canvas.height = image.height;
var context = canvas.getContext( '2d' );
context.drawImage( image, 0, 0 );
return context.getImageData( 0, 0, image.width, image.height );
}
function getPixel( imagedata, x, y ) {
var position = ( x + imagedata.width * y ) * 4, data = imagedata.data;
// console.log(position, data, data[position], data[position+1], data[position+2])
return { r: data[ position ], g: data[ position + 1 ], b: data[ position + 2 ], a: data[ position + 3 ] };
}