canvas图片跨域问题

Posted 等风来

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了canvas图片跨域问题相关的知识,希望对你有一定的参考价值。

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";

 

以上是关于canvas图片跨域问题的主要内容,如果未能解决你的问题,请参考以下文章

求助,哪位大神知道html2canva 有跨域图片,怎么解决

canvas 使用图片跨域问题

canvas跨域完美解决,微信头像解决跨域

H5在canvas中绘制图片时候遇到跨域问题

html2canvas 跨域代理怎么实现

canvas关于getImageData跨域问题解决方法