利用 canvas 取得图片的data,如果 img.src是来自其它域名的图片,浏览器便会禁止执行
例如代码:
<canvas id="example" width="300" height="300">
This text is displayed if your browser does not support HTML5 Canvas.
</canvas>
学canvas时候发现了这个问题,情况分析:
1:google版本不支持canvas的drawImage方法,
2:传入参数不正确导致浏览器报错(是由于image加载是异步的,可能没加载完成就开始执行相应的代码,结果资源获取不到)。
3: var canvas = document.getElementById('canvas');
var context= canvas.getContext('2d');有可能你没有获取2D的上下文,晕,我就是这种,至于第二种情况下面有解答方法。
一般在处理图片上传时,通常的逻辑都是将源图片上传到服务器端,再由服务器端的语言进行缩放大小的操作。
此种模式一般可以满足大部分的需求,但当我们所需要的图片仅仅是一个符合规定大小的源图片的缩略图,再使用此种模式,将是一种浪费服务端资源以及带宽的方式,故我们考虑在浏览器端生成小图后再进行上传操作。
//以下为源代码