文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

html中canvas怎么把div保存高清图

2024-04-02 19:55

关注

本文小编为大家详细介绍“html中canvas怎么把div保存高清图”,内容详细,步骤清晰,细节处理妥当,希望这篇“html中canvas怎么把div保存高清图”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

     1.选择html2canvas版本(这个版本可以放大倍数保证图片清晰)

  默认生成的canvas图片在retina设备上显示很模糊,处理成2倍图能解决这个问题:

  varw=$("#code").width();

  varh=$("#code").height();

  //要将canvas的宽高设置成容器宽高的2倍

  varcanvas=document.createElement("canvas");

  canvas.width=w*2;

  canvas.height=h*2;

  canvas.style.width=w+"px";

  canvas.style.height=h+"px";

  varcontext=canvas.getContext("2d");

  //然后将画布缩放,将图像放大两倍画到画布上

  context.scale(2,2);

  html2canvas(document.querySelector("#code"),{

  canvas:canvas,

  onrendered:function(canvas){

  ...

  }

  });

  下载方法:

  .on('click','.download',function(){

  $('#mycanvas').remove();

  var_height=$('.skinReport').height();

  //滚到顶部

  $('html,body').animate({scrollTop:0});

  if(confirm('是否下载肌肤检测报告?'))

  {

  setTimeout(function(){

  varcanvas=document.createElement("canvas"),

  w=$('#skinReport').width(),

  h=$('#skinReport').height();

  canvas.width=w*2;

  canvas.height=h*2;

  canvas.style.width=w+"px";

  canvas.style.height=h+"px";

  varcontext=canvas.getContext("2d");

  //然后将画布缩放,将图像放大两倍画到画布上

  context.scale(2,2);

  html2canvas(document.getElementById('skinReport'),{

  allowTaint:false,

  taintTest:true,

  canvas:canvas,

  onrendered:function(canvas){

  canvas.id="mycanvas";

  canvas.style.display='none';

  document.body.appendChild(canvas);

  //生成base64图片数据

  imgData=canvas.toDataURL(type);

  //varnewImg=document.createElement("img");

  //newImg.src=dataUrl;

  //document.body.appendChild(newImg);

  //console.log(imgData);

  var_fixType=function(type){

  type=type.toLowerCase().replace(/jpg/i,'jpeg');

  varr=type.match(/png|jpeg|bmp|gif/)[0];

  return'image/'+r;

  };

  //加工imagedata,替换mimetype

  imgData=imgData.replace(_fixType(type),'image/octet-stream');

  

  varsaveFile=function(data,filename){

  varsave_link=document.createElementNS('http://www.w3.org/1999/xhtml','a');

  save_link.href=data;

  save_link.download=filename;

  varevent=document.createEvent('MouseEvents');

  event.initMouseEvent('click',true,false,window,0,0,0,0,0,false,false,false,false,0,null);

  save_link.dispatchEvent(event);

  };

  //下载后的问题名

  varfilename=aname+'肌肤检测报告'+(newDate()).getTime()+'.'+type;

  //download

  saveFile(imgData,filename);

  },

  width:1512,

  height:15000

  })

  },2500)

  }

  else

  {

  return;

  }

  })

html中canvas怎么把div保存高清图

读到这里,这篇“html中canvas怎么把div保存高清图”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-前端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯