当前位置: 首页 > news >正文

手机资讯网站源码建设企业网站管理的重要性

手机资讯网站源码,建设企业网站管理的重要性,全网营销策划公司,江西建设银行招聘网站前言 使用 img 加载 GIF 图片#xff0c;内容只会播放一次#xff0c;之后就会自动暂停#xff1b; 通过定时器在一段时间后重新加载图片的方式#xff0c;会导致浏览器内存不断增大#xff0c;并且可能会有闪烁、卡顿的问题#xff1b; ImageDecoder WebCodecs API 的…前言 使用 img 加载 GIF 图片内容只会播放一次之后就会自动暂停 通过定时器在一段时间后重新加载图片的方式会导致浏览器内存不断增大并且可能会有闪烁、卡顿的问题 ImageDecoder WebCodecs API 的 ImageDecoder 接口提供了一种对编码图像数据进行解包和解码的方法。 ImageDecoder 只能在 localhost 或者 https 的 tab 页中获取到 代码 canvas 设置 width 和 height和 GIF 图片尺寸一致canvas width1310 height954/canvas或许你也可以通过一下方法动态设置尺寸const img new Image(); img.src 图片路径; img.onload function() {var width this.width; // 图片宽度var height this.height; // 图片高度console.log(图片尺寸为${width} x ${height});// some code... // 为canvas 设置 width、height };通过 fetch 获取 GIF 图片资源传入 urlfetch(url).then((response) decodeImage(response.body));decodeImage 方法对图片解码imageDecoder new ImageDecoder({ data: imageByteStream, type: image/gif }); imageDecoder.decode({ frameIndex: imageIndex }).then(renderImage);renderImage 渲染每一帧的图片 function renderImage (result) {const canvas document.querySelector(canvas);const canvasContext canvas.getContext(2d);// 绘制图片 canvasContext.drawImage(result.image, 0, 0);const track imageDecoder.tracks.selectedTrack;if (imageDecoder.complete) {if (track.frameCount 1) return;// 如果序号超出了帧数重置为 0if (imageIndex 1 track.frameCount) imageIndex 0;}// 解码下一帧图片并渲染imageDecoder.decode({ frameIndex: imageIndex }).then((nextResult) setTimeout(() {renderImage(nextResult);}, result.image.duration / 1000) // 可以调整播放速度).catch((e) {if (e instanceof RangeError) {imageIndex 0;imageDecoder.decode({ frameIndex: imageIndex }).then(renderImage);} else {throw e;}});}完整代码 templatedivcanvas width1310 height954/canvas/div /templatescript export default {mounted() {this.play(require(/assets/images/animate.gif));},play(url) {let imageDecoder null;let imageIndex 0;function renderImage (result) {const canvas document.querySelector(canvas);const canvasContext canvas.getContext(2d);canvasContext.drawImage(result.image, 0, 0);const track imageDecoder.tracks.selectedTrack;if (imageDecoder.complete) {if (track.frameCount 1) return;if (imageIndex 1 track.frameCount) imageIndex 0;}imageDecoder.decode({ frameIndex: imageIndex }).then((nextResult) setTimeout(() {renderImage(nextResult);}, result.image.duration / 1000)).catch((e) {if (e instanceof RangeError) {imageIndex 0;imageDecoder.decode({ frameIndex: imageIndex }).then(renderImage);} else {throw e;}});}function decodeImage (imageByteStream) {imageDecoder new ImageDecoder({ data: imageByteStream, type: image/gif });imageDecoder.decode({ frameIndex: imageIndex }).then(renderImage);}fetch(url).then((response) decodeImage(response.body));} } /script相关链接 纯前端如何实现Gif暂停、倍速播放MDN ImageDecoder
http://www.hkea.cn/news/14390787/

相关文章:

  • 学院网站建设的目的WordPress邮箱验证 注册
  • 宿松做网站策划运营
  • 做一个15页的网站怎么做如何做好网络营销工作
  • 网站建设网站推广网站建设各模块功能简述
  • 沧州做家装的公司网站邯郸网络用语
  • 北京海淀建设局搜索引擎优化的流程
  • 常州模板网站建设喜欢做木工 网站
  • 建站专家商贸公司网站建设极致发烧
  • 无锡开发网站建设o2o有哪些电商平台
  • 哪个商城网站建设好中国建设银行上海分行信息网站
  • 摄影师做展示的网站中国猎头公司前十名
  • 成功的微网站广州网站建设推广易尚
  • wordpress音乐网站主题个人网站icp
  • 上海网站建设 paiky图片处理软件
  • 舟山市普陀区建设局网站国外免费服务器ip大全
  • wordpress 网站禁用全屏代码中国房地产未来走向
  • 信阳网站建设哪家好上海闵行区邮编
  • 网站说服力-营销型网站策划网站开发开票交税
  • 什么网站做展板的多wordpress 电子书主题
  • 安全可信网站网站建设九亭
  • 明星粉丝网站怎么做wordpress 网站白屏
  • 色弱做网站都匀网站开发的公司
  • 天津建设网站安全员考试成绩查询苏州市城乡和建设局网站
  • 站酷设计网站官网入口免费云存储wordpress
  • 上海哪家网站建设好平台公司组织架构
  • 鳌江哪里有做网站wordpress ftp主机
  • 徐州网站建设 网站制作创新驱动发展战略方针
  • 金坛网站建设中国建设教育网官方网站
  • 网站范例网站 推广方案
  • 公司网站需要备案吗免费发帖论坛大全