Я хочу взять исходное изображение и поместить его пиксельные данные в элемент с сеткой CanvasRenderingContext2D.Javascript - Помещение изображений на элемент холста - CanvasRenderingContext2D
Я пишу яваскрипт функцию для работы с определенными точками пиксельных данных, , но я получаю сообщение об ошибке от этой линии:
ctx.putImageData(sourceImage, 0, 0);
Вот мой текущий Javascript функции, которая принимает идентификатор класса из IMG элемент в качестве аргумента:
function mapMyImage(sourceImageID) {
// Declare variable for my source image
var sourceImage = document.getElementById(sourceImageID);
// Creates a canvas element in the HTML to hold the pixels
var canvas = document.createElement('canvas');
// Create a 2D rendering context for our canvas
var ctx = canvas.getContext('2d');
// After the image has loaded, put the source image data into the
// 2D rendering context grid
function imgToPixelArray() {
// In the context of the canvas, make an array of pixels
ctx.putImageData(sourceImage, 0, 0);
}
// Call the above function once the source image has loaded
sourceImage.onload = imgToPixelArray();
// Get Access to the pixel map now stored in our 2D render
var imageData = ctx.getImageData(0, 0, 400, 300);
}
Почему я получаю сообщение об ошибке, когда я пытаюсь поставить пиксельные данные моего источника изображения в 2D в контекст рендеринга сетки?
[ 'putImageData'] (https: //developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D.putImageData) не принимает элемент изображения, он принимает ['ImageData'] (https: //developer.moz illa.org/en-US/docs/Web/API/ImageData). Возможно, вы имеете в виду ['drawImage'] (https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D.drawImage)? –