渲染背景图像到画布

时间:2016-11-11 17:05:41

标签: javascript css html5 html5-canvas

我有一个DIV容器,图像设置为background-image(由url指定)。有没有办法如何将这个背景图像重绘为画布(没有重新联系或从服务器重新下载 - 因为内容图像是一次显示)?

1 个答案:

答案 0 :(得分:1)

是。您可以获取背景图片的网址,请求图片文件为Blob,创建<img>元素,将src设置为Blob URL的响应,位于{{1}已创建的load元素调用事件img,其中.drawImage()为第一个参数。

可以缓存背景图片,具体取决于浏览器设置。如果图片未在浏览器中缓存,您可以先请求图片,然后使用单个请求同时设置img cssbackground-image

您可以使用<canvas>fetch()请求XMLHttpResponse() background-imageurl()FileReader()设置FileReader.prototype.readAsDataURL() { {1}} src <img> .result事件{/ 1}}。

您还可以使用FileReaderload URL.createObjectURL()创建Blob URLresponse要撤消Blob

检查URL.revokeObjectURL()Blob URL处的Network标签,应检索图片

DevTools

&#13;
&#13;
Developer Tools
&#13;
(from cache)    
&#13;
&#13;
&#13;