在chrome下会发生错误
Uncaught SecurityError: Failed to execute 'getImageData' on 'CanvasRenderingContext2D': The canvas has been tainted by cross-origin data.
大概意思就是发生了跨域操作,也就是指图片的来源和当前的网页来源不同时,造成了跨域,据说放到服务器上加载就会解决这个问题,但是firefox却没问题,具体原理我也不懂,老师的代码放到了本地模拟的服务器环境可以顺利运行,出错的同学应该是和我一样直接加载到浏览器运行的
Uncaught SecurityError: Failed to execute 'getImageData' on 'CanvasRenderingContext2D': The canvas has been tainted by cross-origin data.
大概意思就是发生了跨域操作,也就是指图片的来源和当前的网页来源不同时,造成了跨域,据说放到服务器上加载就会解决这个问题,但是firefox却没问题,具体原理我也不懂,老师的代码放到了本地模拟的服务器环境可以顺利运行,出错的同学应该是和我一样直接加载到浏览器运行的
2016-04-22
老师您好,我觉得您教程里关于imageData.data 到 像素的转换是错误的.
您教程里说 i行 j列的像素点是 p=i*canvas.width + j;
实际应该是 p=j*canvas.width + i;
因为像素到数组的填充顺序是从左到右,从上到下的。
您教程里说 i行 j列的像素点是 p=i*canvas.width + j;
实际应该是 p=j*canvas.width + i;
因为像素到数组的填充顺序是从左到右,从上到下的。
2016-04-22
这个比例应该是两个scaleX,scaleY,不然放大镜比例不对,scaleX = offCanvas.width/canvas.width;scaleY = offCanvas.height/canvas.height;
2016-04-16
老师你这里写错了吧,应该是for(var i = 0; i < canvasa.width * canvasa.height; i++) ,你写的是canvasb, 这个例子里面,两个画布大小一致所以理解上不会发现问题。不过也许我理解的不对,如果是目标画布很小,那就没有必要所有都处理一遍,减少计算机工作量也是应该的,但是老师,你是这么想的吗?我很好奇。
2016-03-28