为了账号安全,请及时绑定邮箱和手机立即绑定

编写Google浏览器插件时 js中利用canvas对本地图片进行处理时遇到跨域问

编写Google浏览器插件时 js中利用canvas对本地图片进行处理时遇到跨域问

米脂 2018-11-21 10:19:53
编写插件时,利用canvas将本地图片先进行处理制作一个素材库。然后获取网页图片与素材库进行比较。 实际中drawImage(im,0,0)后无法getImageData(),原因是im是本地图片(js所在文件夹下的文件).请问如何才能用canvas操作本地图片呢`var im = new Image(),        //im.crossOrigin = null;        //im.crossOrigin = "Anonymous";        canvas = document.createElement("canvas"),        ctx = canvas.getContext("2d");        im.onload = function(){            canvas.width = this.width;            canvas.height = this.height;            ctx.drawImage(im,0,0);            var imgData = ctx.getImageData(0,0,80,20);            imgData = binaryzationImageData(imgData);            ctx.putImageData(imgData,0,0);            for(var i=1;i<=4;i++){                (function(i){                    var imgData = ctx.getImageData(offsetX+gap*(i-1)+fontWidth*(i-1),offsetY,fontWidth,fontHeight);                    !source[numArr[i-1]] && (source[numArr[i-1]] = imgData.data.join("").replace(/255/g,"1"));                })(i);            }        }        im.src = pic;`
查看完整描述

1 回答

?
慕的地8271018

TA贡献1796条经验 获得超4个赞

确实如zollero所说,要放在一个服务器环境中运行,直接拖到浏览器里面运行html是不行的


查看完整回答
反对 回复 2018-12-30
  • 1 回答
  • 0 关注
  • 585 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号