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

电子商务网站建设需求表虚拟主机网站建设过程

电子商务网站建设需求表,虚拟主机网站建设过程,微博指数查询,网站制作的差异化定位当前做项目有一个需求是将多张图片生成一个gif动图的形式 类似下面图片几张图片叠加生成一个gif动图 图片涉及工作隐私,就不公开啦 我们要引入一个gif.js的引入包,但是他没有直接引入的方式,只能从官方下载文件包,下载地址&#…

当前做项目有一个需求是将多张图片生成一个gif动图的形式

类似下面图片几张图片叠加生成一个gif动图

图片涉及工作隐私,就不公开啦

 我们要引入一个gif.js的引入包,但是他没有直接引入的方式,只能从官方下载文件包,下载地址:git地址

下载好的包找到下面这个两个文件,引入到本地项目中去

将引入进来的两个包中的最后一行代码注释,避免映射

 然后:这里需要对gif.worker进行封装  

在gif.worker.js文件最后声明一个函数,将该文件除了注释部分的代码之外的所有代码复制变成文本,然后给一个变量  

生命的函数将复制的代码文本转化成 blob,然后转化成url的形式

export const gifWorkerContent = ` gif.worker.js文件代码(不要粘贴注释部分)  `export const getGifWorker = () => {const blob = new Blob([gifWorkerContent])return window.URL.createObjectURL(blob)}

然后在需要生成gif的单页面进行引入

 

引入完成之后, 

进行函数处理, 需要获取到所有的地图图片canvas元素,然后通过canvas转换成图片

toGif(item, index) {const _this = thisthis.imgs = []const temDiv = document.getElementById(item + index)this.mapOptionsList[item].forEach((items, index) => {const div = document.getElementById(item + index)const temimg = div.querySelector('canvas')this.imgs.push(temimg) // this.imgs这个数组是所有需要生成gif的图片的集合})// 生成GIFtry {const { width, height } =temDiv.getBoundingClientRect() // 这里定义一下gif图片的大小const gif = new GIF({workers: 2,quality: 10,width,height,workerScript: getGifWorker() // 自定义worker地址})// 对所有的图片进行处理,利用canvas绘制图片this.imgs.forEach((img, index) => {const cv = document.createElement('canvas')cv.width = widthcv.height = heightconst ctx = cv.getContext('2d')ctx.fillStyle = '#fff'ctx.fillRect(0, 0, width, height)ctx.drawImage(img, -20, 0, img.width, img.height)// 这里的img参数内容 要是canvas或者svg或者img的dom元素ctx.fillStyle = '#000' // 这里的fillStyle要注意却分大小写ctx.font = '20px normal'const temname = _this.mapOptionsList[item][index].title.namectx.fillText(temname, 200, 25)ctx.fillStyle = '#000' // 这里的fillStyle要注意却分大小写ctx.font = '20px normal'const temtime = _this.mapOptionsList[item][index].title.timeif (index == 0) {ctx.fillText(temtime, 110, 55)} else {ctx.fillText(temtime, 150, 55)}gif.addFrame(cv, { delay: 1000 })})// 渲染gifgif.render()// 图片合成后gif.on('finished', (blob) => {const a = document.createElement('a')a.href = URL.createObjectURL(blob)a.download = _this.mapOptionsList[item][index].title.texta.click()gif.abort()})} catch (error) {console.log(error)}},

 然后就可以生成gif图片啦 可以看一下下面的图片哦

图片涉及工作隐私就不公开啦

http://www.yayakq.cn/news/763000/

相关文章:

  • 视频网站怎样做打电话给客户怎样介绍自己是做网站的?开场白?
  • 服装网站案例公司网页设计论文题目大全
  • 网站建设网页设计用什么软件凡科登陆网站手机版
  • 查询网站有没有备案怎么自己创立网站
  • 找做网站技术人员有哪些好的做兼职网站
  • 烟台门户网站建设免费seo推广软件
  • 怎么做自动发卡的网站html网页怎么制作
  • 哪里有网站制作建设wordpress双栏主题
  • 网站内容页收录官方网站app最新下载
  • 门户网站标题居中加大宜昌本地网站
  • 网站开发文件夹成品人和精品人的区别在哪
  • 网站建设服务ysaigo网站开发类论文题目
  • 微信公众号推广网站施工企业信用管理制度和机制
  • 小说发表哪个网站赚钱邢台市的做网站制作公司
  • 沈阳建设网站公司做油漆稀料用哪个网站
  • 互联网推广网站建设做外贸哪些网站可以找客户
  • 山东网站建设培训好男人hd免费观看
  • cname解析对网站影响最常用免费h5制作平台
  • 做蓝牙音箱在什么网站上找客户天空人体网站怎么做
  • 天津工程建设网官方网站免费开发网站
  • 学院网站建设管理深圳福田专业网站改版
  • 手机h5免费模板网站模板国外网站搭建
  • 做厂房出租有那些推广网站绍兴做团购的网站
  • 网站建设方案策划书前言推广手机卡返佣平台哪个好
  • 吉林网站制作选择乐云seo优化网站制作
  • 焦作住房和城乡建设局网站视频加字幕软件app
  • 互联网电商平台有口碑的镇江网站优化
  • 怎么注销自己做的网站wordpress字体旋转
  • 公司两个网站可以做友情链接吗达人室内设计网app
  • 网站二级域名简单的网站建设找哪个公司