Я хочу написать код, который может фильтровать источник изображения и возвращать данные, которые он может использовать в качестве источника для тега изображения в DOM. Поэтому я создал виртуальный холст. На данный момент он работает только с реальным холстом внутри DOM, хотя измерение ошибочно. Мне нужен только преобразованный источник изображения и не холст в DOM.HTML5 canvas не может применяться sw filter
это, как мне это нужно, но это не работает: js fiddle
это один работает с неправильным измерением IMG и нежелательным холстом в DOM: js fiddle2
ЯШИ:
var image = new Image();
image.onload = function() {
var helperCanvas = document.createElement('canvas');
var ctx = helperCanvas.getContext('2d');
ctx.width = image.width;
ctx.height = image.height;
ctx.drawImage(image, 0, 0, helperCanvas.width, helperCanvas.height);
var imageData = ctx.getImageData(0, 0, helperCanvas.width, helperCanvas.height);
filter(imageData);
data_as_source = ctx.putImageData(imageData, 0, 0).toURL();
var img = new Image();
img.src = data_as_source;
context.drawImage(img,0,0);
}
image.src = ....
Я не вижу «холст в DOM» в показанном коде ... и кроме того, без холста, как вы собираетесь получать данные о пикселях? – dandavis
Я хочу использовать подобный int this [jsfiddle] (http://jsfiddle.net/NEF8n/9/), но ctx.putImageData (imageData, 0, 0) не работает – daisy