Nous voulons dessiner une image, qui comprend une image d'arrière-plan et un code QR généré dynamiquement. Le principe est que l'image d'arrière-plan est une ressource statique du projet lui-même, et le code QR est généré dynamiquement par le serveur, et les deux sont. pas sous le même nom de domaine.
Solution : Redirigez toutes les images vers le même nom de domaine :
laissez count = 0;let bgImg = document.creatElement('img');let qrImg = document.creatElement('img');bgImg.src = redirectUrl('x.png');qrImg.src = redirectUrl( 'y .png');[bgImg, qrImg].forEach((e) => { e.onload = () => { nombre ++; if (count === 2) { tiroirImg(bgImg, qrImg); } }})function redirectUrl (url) { return 'https://xxx/view?fileUrl=' + encodeURIComponent(url);}fonction tiroirImg (imgContent, qrContent, scaleBy = 2) { let {bgImgW, bgImgH} = {375, 800} ; {qrx, qry, qrw, qrh} = {20, 700, 50, 50} ; let Canvas = document.createElement('canvas'); let ctx = Canvas.getContext(2d); Canvas.height= bgImgH * scaleBy; ctx.drawImage(imgContent, 0, 0, bgImgW * scaleBy, bgImgH * scaleBy); ctx.drawImage(qrContent, qrx * scaleBy, qry * scaleBy, qrw * scaleBy, qrh * scaleBy); Canvas.toDataURL(); document.body.appendChild(nodeI)}
Ce qui précède représente l’intégralité du contenu de cet article. J’espère qu’il sera utile à l’étude de chacun. J’espère également que tout le monde soutiendra le réseau VeVb Wulin.