为了账号安全,请及时绑定邮箱和手机立即绑定
在chrome下会发生错误
Uncaught SecurityError: Failed to execute 'getImageData' on 'CanvasRenderingContext2D': The canvas has been tainted by cross-origin data.
大概意思就是发生了跨域操作,也就是指图片的来源和当前的网页来源不同时,造成了跨域,据说放到服务器上加载就会解决这个问题,但是firefox却没问题,具体原理我也不懂,老师的代码放到了本地模拟的服务器环境可以顺利运行,出错的同学应该是和我一样直接加载到浏览器运行的
老师您好,我觉得您教程里关于imageData.data 到 像素的转换是错误的.
您教程里说 i行 j列的像素点是 p=i*canvas.width + j;
实际应该是 p=j*canvas.width + i;

因为像素到数组的填充顺序是从左到右,从上到下的。
我提一个问题,能不能把圆圈的边框颜色换为 所点击的像素点的颜色,这样就更酷啦,求实现
这个比例应该是两个scaleX,scaleY,不然放大镜比例不对,scaleX = offCanvas.width/canvas.width;scaleY = offCanvas.height/canvas.height;
四层循环,卡的不要不要的
chrome不行,用了firfox才行。
图片缩小水印可能会出现不在图片上的情况,怎么解决
图片缩小水印可能会出现不在图片上的情况,怎么解决

已采纳回答 / 小风哥
我想说我把图片路径换了就行了你信么
把速度变成两倍播放视频 真的是特别的 cool....
老师你这里写错了吧,应该是for(var i = 0; i < canvasa.width * canvasa.height; i++) ,你写的是canvasb, 这个例子里面,两个画布大小一致所以理解上不会发现问题。不过也许我理解的不对,如果是目标画布很小,那就没有必要所有都处理一遍,减少计算机工作量也是应该的,但是老师,你是这么想的吗?我很好奇。
要放在服务器环境下运行,因为getImageData存在跨越问题
课程须知
本课程是《炫丽的倒计时效果——canvas绘图和动画基础》和《canvas绘图详解》这两门课程的进一步深入。将教会大家使用canvas编写属于自己的图像算法,创建出炫丽的效果!
老师告诉你能学到什么?
1、使用canvas将图像渲染在画布上; 2、离屏canvas; 3、使用canvas进行像素级操作。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消