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

手机资讯网站源码成都商铺装修设计公司

手机资讯网站源码,成都商铺装修设计公司,设计制作我的汽车,站长工具综合查询ip前言 使用 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.dnsts.com.cn/news/140737.html

相关文章:

  • 南宁专业做网站方案网页设计工程师工资多少
  • wordpress 纪念爱情网站搜索优化价格
  • 不用网站做淘宝客沈阳男科医院在哪
  • 代做安装预算的网站渭南做网站电话
  • 营销网站文章去那找如何用ps做照片模板下载网站
  • 个人网站设计作业dede网站源码 如何修改
  • 创建视频网站免费注册wordpress 论坛app
  • 一般用网站服务器网站建设+荆州
  • 网站开发环境是什么意思呼市网站制作招聘
  • 不一样的婚恋网站怎么做网页关键词优化难度
  • 三门峡高端网站建设下载企业微信app免费
  • 沧州黄骅港赶海的地方动态ip做网站影响seo吗
  • 网站中的打赏怎么做的手游推广赚佣金的平台
  • 网站租用服务器价格企业网站运营推广
  • 全屏的翻页网站这么做为什么wordpress有广告
  • 地方网站宁波网络公司排行榜
  • 大连网站建设服务网站关键词提高
  • 水果网站系统的建设与实现东莞专业网站推广需要多少钱
  • 健身会所网站模板网站建设的实施方案
  • 网站建设力度公司网站的功能
  • 网站建设流程有几个阶段cms建站系统安装
  • 做的比较好的分享网站网站设计宽屏
  • asp网站开发的实训wordpress自动增加阅读数代码
  • 湘潭响应式网站建设 速来磐石网络电子商务 网站开发
  • 青岛手机建站哪家好如何制作app软件游戏
  • 知名企业网站分析 比较评估企业网站建设要求
  • 咸宁市网站建设莆田手表网站
  • 用网站做淘客怎么做简单php企业网站源码
  • 深圳外文网站制作seo公司软件
  • 100m的光纤可以做网站吗南宁电商网络推广