【发布时间】:2013-06-07 20:04:33
【问题描述】:
我想编写可以过滤图像源并返回可用作 DOM 中图像标记源的数据的代码。因此,我创建了一个虚拟画布。目前它只适用于 DOM 中的真实画布,即使尺寸错误。我只想要转换后的图像源,DOM 中没有画布。
这是我需要的,但它不起作用:js fiddle
这适用于错误的 img 尺寸和 DOM 中不需要的画布:js fiddle2
js:
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 中的画布”...此外,如果没有画布,您将如何获取像素数据?
-
我想使用类似 int 这个jsfiddle 但 ctx.putImageData(imageData, 0, 0) 不起作用
标签: javascript html canvas filter