Подтвердить что ты не робот

Получить пиксельный цвет изображения

У меня есть изображение в браузере.

Я хочу получить верхний левый пиксель цвета изображения (в координатах: 0,0), независимо от того, поворачивается ли изображение или нет.

Как я могу это сделать, используя javascript или php-код?

4b9b3361

Ответ 1

  • Создать холст document.createElement
  • Получить 2d-контекст canvas.getContext('2d')
  • Нарисуйте изображение на холсте context.drawImage(image, x, y)
    • Убедитесь, что изображение находится в том же домене или у вас не будет доступа к его пикселам.
  • Получить данные пикселя для изображения context.getImageData(x1, y1, x2, y2)
    • Вам нужен только левый верх, поэтому context.getImageData(0, 0, 1, 1)
  • Результат getImageData будет содержать в нем массив пикселей data поле (context.getImageData(0,0,1,1).data)
    • Массив будет иметь значения r, g, b и a.

Ответ 2

Для изображения в браузере вы не можете использовать PHP, если вы не можете перенести изображение на сервер.

n в браузере, если вы можете нарисовать изображение в canvas, вы можете использовать метод getImageData():

var myImg = new Image();
myImg.src = 'image.jpg';
var context = document.getElementById('canvas').getContext('2d');
context.drawImage(myImg, 0, 0);
data = context.getImageData(x, y, 1, 1).data;

Вам нужно будет разрешить любое вращение - возможно, вы знаете, какое вращение было применено.