canvas合成图片跨域相关问题

Fw恶龙

克劳德·洛兰_日出

原文地址:https://segmentfault.com/a/1190000038457321
作者:Fw恶龙
本文首发于:思否

一、前言

前端在使用 canvas 合成图片时,如果涉及到跨域的资源会导致绘制失败,首先需要该资源所在的服务器配置允许跨域访问,其次在前端开发过程中还需要注意图片的使用方式,以下记录目前合成图片用到的几种方式在开发中需要注意的地方。

二、相关技术流程

流程图

*注:添加时间戳的原因是静态资源可能涉及到CDN,可能资源服务器允许跨域访问,但是该资源所走的CDN不支持跨域访问,添加时间戳以保证加载源站资源。

三、代码

*注:以下代码只提供相关细节,无法直接复制使用,需根据使用的框架自行编写相关代码

1. img 标签外链使用方式

<img id="bg" src="" crossorigin="anonymous">
document.getElementById('bg').src = yourImgSrc + '?time=' + new Date().valueOf()

2. js 动态创建 Image 对象

var bg = new Image()
bg.crossOrigin = 'anonymous'
bg.onload = function() {
    // onload to do something
}
bg.src = yourImgSrc + '?time=' + new Date().valueOf()

四、相关文档

阅读 1.5k

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视。

191 声望
11 粉丝
0 条评论

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视。

191 声望
11 粉丝
文章目录
宣传栏