https://try.fishqc.com/Activity/constellation ---成品

电脑上录的gif

有借鉴的链接,很多,下面这个还不错~先别看,尊重下我先~~~~
https://juejin.im/post/5a17c5e26fb9a04527254689

需求:
点击那个长按保存的按钮,将上方的测试报告保存到手机相册~

第一步:
如何将html转成图片?
a.先随便下载一个到一个文件夹里面 http://html2canvas.hertzen.com/
npm install --save html2canvas
然后在把这个html2canvas.min.js放到你的项目里面

b.开始转化

                   <div class="button7" style="padding: 0 3%;"> <div id="saveThePic"><div><a  href="javascript:;"><img src="/img/star/resultSave.png" alt=""  id="other" style="width:100%" id="getWidth"></a></div><div id="test"><div><a  href="javascript:;"><img src="/img/star/resultSave.png" alt=""  style="width:100%"></a></div><div class="button10"><a  href="javascript:;"><span class="authorTitle" style="color: #10302c;">{{@getUserName}}的脱单幸运物</span></a></div><div class="button15"><a  href="javascript:;"><span class="authorTitle15">{{@getProductName}}</span></a></div><div class="button13"><a  href="javascript:;"><img ms-attr="{src:@getProductImg}" alt="" class="indexTitle indexTitleGetPic"  ></a></div><div class="button11"><a  href="javascript:;"><span class="feelingExplain" >{{@getUserName}}{{@getContentInsert}}</span></a></div><div class="button12"><a  href="javascript:;"><span  class="feelingExplain" >{{@getStarInsert}}</span>    </a></div><div class="button14"><a  href=""  href="javascript:;"><img src="/img/star/code.png" alt="" class="indexTitle indexTitleGetCode"  ></a></div>  </div></div>                      </div>
var getheight=$('#getWidth').height()//这里我是将那张需要保存的所有元素里面的背景图.
window.onload=function(getheight){ //这里的转化我是进入页面加载所有的完了就开始转,其实应该做一个load更好~takeScreenshot("saveThePic","filename.png",'other','test',getheight)//saveThePic是保存的图,这里要写一个下载的图片后缀哦/other是这个saveThePic下面的图/test是这个需要转成图片的代码子元素
}
function takeScreenshot(creatId,filename,otherId,testid,getheight) {html2canvas(document.getElementById(creatId)).then(function(canvas) {  var imgUri = canvas.toDataURL("image/png").replace("image/png", "image/octet-stream"); // 获取生成的图片的url  var saveLink = document.createElement( 'a');                var other=document.getElementById(otherId)  $('#'+testid).hide()   $('#'+otherId).show() //    $('#'+creatId).css("height", getheight+'px')             other.src=imgUri; saveLink.click(); })
}

解释一下html吧.这里需要注意的就是resultSave.png是一张背景图,然后背景图上面定位了一下文字图片,二维码等等,这个二维码也是我用软件直接转成的图片导进来的.
我是等cavans的图片转化成功之后,将所有要转化的图片隐藏(对应id为test),再之前我会先获取resultSave.png的高度,把他的高度赋给saveThePic的高度.转化后的img一定要写高度
还有就是在pc端确实可以进行图片下载,但是在手机端不会点击一个按钮自动保存的,我看了一篇文章说,把那张转化要的图浮在button上,然后透明度opacity设为0,但是还是在手机上会有点问题,所以我还觉得用户自己保存图片比较好~
试了很久,觉得现在的实现其实还可以,你也可以把这个效果图给你们产品看,早日改需求吧~~~

如果硬是要实现,可以 考虑,先直接渲染,然后定位到按钮那里长按保存试试,因为刚开始我是试的点击再长按 ~~~加油~

七夕快乐,注意保护身体健康哦,乖~

转载于:https://www.cnblogs.com/antyhouse/p/9473641.html

html转图片/html2canvas的使用/星座测试/类似于损友圈的活动相关推荐

  1. Java实验作业13(星座测试系统)

    把这学期的Java作业整理了一下,有十几次实验作业吧,连续更新. 文章目录 1.根据输入的数字求两数之和 1)使用输入类(Scanner)要求用户输入2个整数 2)求这两个整数的和并打印输出如图 2. ...

  2. Python自学笔记10:实操案例七(根据星座测试性格特点、模拟12306火车订票下单)

    Python自学笔记10:实操案例七(根据星座测试性格特点.模拟12306火车订票下单) 网课传送门:https://www.bilibili.com/video/BV1Sw411Z779?p=157 ...

  3. python--根据星座测试性格特点-列表/模拟12306火车订票下单 --字典

    根据星座测试性格特点---列表转成--集合 #创建星座列表 constellation=['白羊座','金牛座','双子座','巨蟹座','狮子座','处女座','天秤座','天蝎座','射手座',' ...

  4. JavaScript星座测试:输入你的月份和日期,输出你是哪个星座的人

    星座测试:输入你的月份和日期,输出你是哪个星座的人 <script type="text/javascript">var month=prompt("请输入月 ...

  5. 微信小程序,线上打不开图片或文件,但是测试环境可以

    最近发现一个问题,就是小程序展示一个网络图片,在本地测试什么问题没有,但是到了线上就显示不出来. 打开console,可以发现红色报错如"downloadFile:fail url not ...

  6. 课程设计题目:图片服务器项目的全面测试

    源包地址:(32条消息) 软件测试课程设计或者大作业-图形服务器-软考文档类资源-CSDN文库 目录  注意:很多图都上传不上去,懒得上传了,自己打开源包里面啥都有 一.课程设计内容 1 二.课程设计 ...

  7. “性格测试”刷爆朋友圈 小心隐私泄露

    @公安部打四黑除四害截图提醒,警惕"性格测试". 前两天,只要打开微信,你很可能发现自己的朋友圈被刷屏了.一夜之间好像大家都在玩儿性格测试,在一张黑色的图片中,五颜六色的文字显示这 ...

  8. 将html保存为图片,html2canvas 将html代码转为图片并保存下来

    html2canvas 将html代码转为图片并保存下来 发布时间:2018-05-22 10:15, 浏览次数:421 , 标签: html canvas 只是测试了下,在 谷歌和360上都可以,但 ...

  9. Lodop导出图片和打印机无关,测试是否有关

    Lodop导出的图片,既可以在预览界面另存为,也可以用语句导出. 语句导出,可查看本博客的相关博文:Lodop导出图片,导出单页内容的图片 预览的时候,由于选择的打印机不同,而真实的打印机可能有不同的 ...

最新文章

  1. tensorflow1
  2. python tkinter 循环显示文本_Python简易音乐播放器
  3. BeetleX自定义http/websocket压测用例视频
  4. async,await执行流看不懂?看完这篇以后再也不会了
  5. 为QT添加qss样式文件
  6. 团队作业4——第一次项目冲刺(Alpha版本)4.25
  7. 国内最火的 HTML、CSS、JavaScript 开源项目 Top 榜,你知多少?
  8. Tensorflow-slim 学习笔记(一)概述
  9. python用turtle调整文字位置_Python内置模块turtle绘图详解
  10. \r,\n,\r\n的问题分析
  11. telnet php,使用php实现telnet功能
  12. 常见反爬虫手段及应对策略
  13. 杭电、POJ、ZOJ ACM刷题顺序和题目分类详解
  14. 结构设计——常用机械设计软件对比
  15. 唐门暗器之私有云排名
  16. 对其他小组作评的评价
  17. 一个很好用的vue表单工具,快速进行表单开发
  18. 《算法竞赛中的初等数论》(一)正文 0x00整除、0x10 整除相关(ACM / OI / MO)(十五万字符数论书)
  19. readlink 获取进程的绝对路径
  20. LVGL-gui_user.h

热门文章

  1. 核桃编程学员对话诺贝尔奖得主 用童心预见未来 探讨人工智能发展
  2. 2019 数学建模国赛 C 题思路
  3. RecyclerView之使用ItemTouchHelper实现交互动画
  4. 手游开发神器 cocos2d-x editor 教程聚合和代码下载(持续更新中)
  5. java微信小程序授权微信登录获取手机号
  6. 获取当前时间的东八区时间
  7. day21|216.组合总和III、17.电话号码的字母组合
  8. 专业范儿的图表,打造专业范儿的技术人PPT
  9. Spring:applicationContext.xml的头文件信息
  10. 京东换新 Logo :脸蛋胖了,脖子粗了