码迷,mamicode.com
首页 > Web开发 > 详细

canvas,html2canvas等合成图片不清晰问题

时间:2017-09-30 19:48:34      阅读:420      评论:0      收藏:0      [点我收藏+]

标签:图片   document   nta   attr   一个   app   电脑   class   get   

function  pxRa(cxt) {

var backingStore = context.backingStorePixelRatio ||

context.webkitBackingStorePixelRatio ||

context.mozBackingStorePixelRatio ||

context.msBackingStorePixelRatio ||

context.oBackingStorePixelRatio ||

context.backingStorePixelRatio || 1;

return (window.devicePixelRatio || 1) / backingStore;

};

此方法是获取设备与canvas一个适合的比例,具体也不知道怎么表达,剧烈来说,设计稿是640,放在iphone 5、6  ,这个值就是2,  电脑满屏就是1,  6plus  3  等等;

根据这个值去对canvas  进行 方法,缩大放小。

  这是img的 图,

技术分享

  下面这是   canvas  画出来的图

技术分享

  是不是看上去很清晰,跟原图没有什么区别区别

 代码 合图  如下:

var w = $(".container").width();

var h = $(".container").height();

var canvas = document.createElement("canvas");

var context = canvas.getContext("2d");

var ra=getPixelRatio(context);

console.log(ra);

canvas.width = w * ra;

canvas.height = h * ra;

<!-- canvas.style.width = w + "px"; -->

<!-- canvas.style.height = h + "px"; -->

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

context.scale(2, 2);

html2canvas(obj).then(function(canvas) {

var copyStr = canvas.toDataURL("image/png", 0.92);

$(‘.complex-img‘).attr(‘src‘, copyStr);

<!-- document.body.appendChild(img); -->

});

 

 

 

  

canvas,html2canvas等合成图片不清晰问题

标签:图片   document   nta   attr   一个   app   电脑   class   get   

原文地址:http://www.cnblogs.com/webcong007/p/7615830.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!