首页 > 代码库 > 使用canvas控制gif图片的播放与暂停
使用canvas控制gif图片的播放与暂停
if (‘getContext‘ in document.createElement(‘canvas‘)) { HTMLImageElement.prototype.play = function() { if (this.storeCanvas) { // 移除存储的canvas this.storeCanvas.parentElement.removeChild(this.storeCanvas); this.storeCanvas = null; // 透明度还原 image.style.opacity = ‘‘; } if (this.storeUrl) { this.src = http://www.mamicode.com/this.storeUrl; } }; HTMLImageElement.prototype.stop = function() { var canvas = document.createElement(‘canvas‘); // 尺寸 var width = this.width, height = this.height; if (width && height) { // 存储之前的地址 if (!this.storeUrl) { this.storeUrl = this.src; } // canvas大小 canvas.width = width; canvas.height = height; // 绘制图片帧(第一帧) canvas.getContext(‘2d‘).drawImage(this, 0, 0, width, height); // 重置当前图片 try { this.src = http://www.mamicode.com/canvas.toDataURL("image/gif"); } catch(e) { // 跨域 this.removeAttribute(‘src‘); // 载入canvas元素 canvas.style.position = ‘absolute‘; // 前面插入图片 this.parentElement.insertBefore(canvas, this); // 隐藏原图 this.style.opacity = ‘0‘; // 存储canvas this.storeCanvas = canvas; } } }; }
var image = document.getElementsByTagName("img")[0]; // 停止gif图片 image.stop(); // 播放gif图片 image.play();
使用canvas控制gif图片的播放与暂停
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。