canvas的drawImage使用跨域图片时候,会报错,解决方法如下:
1. 使用base64替换跨域图片
如果图片不大,且只有几张,可以使用base64,来代替跨域引用图片。
2. 设置image的crossOrigin属性,并且设置服务端的 Access-Control-Allow-Origin:* (或允许的域名)
var cvs = document.getElementById(‘canvas‘); var ctx = example.getContext(‘2d‘); var img = new Image(); //配合服务端的Access-Control-Allow-Origin img.crossOrigin = ‘‘; img.onload = function(){ ctx.drawImage(img,0,0,cvs.width,cvs.height); var imgData = ctx.getImageData(100, 100, 1, 1); }; img.src = "test.png";
时间: 2024-10-09 11:23:02