0
丁亚光 864
2月4日 回答
感觉是你canvas的位置不对,设置html body canvas 的padding margin 都为0 试试
0
0
mfive 2
3月14日 回答
遇到同样的问题,canvas缩放在iOS上没有问题,在Android微信中打开不能横向缩放,在Android手机上各种浏览器上是正常的,在PC端上用chrome测试也是正常的。
-1
青岛小龟 216
2月5日 回答 · 2月5日 更新
不是安卓和苹果的问题,是屏幕像素比的问题,用window.devicePixelRatio获取到你手机屏幕的像素比,然后对应比例来设置canvas里的参数,而且直接用canvas画图,会很模糊,怎么解决呢,我从网上查阅了一下,自己写了一个函数,你看下
function CanvalHD(canvasThis,ctxThis){
(function (canvas, ctx) {
var devicePixelRatio = window.devicePixelRatio || 1;
var backingStorePixelRatio = ctx.webkitBackingStorePixelRatio ||
ctx.mozBackingStorePixelRatio ||
ctx.msBackingStorePixelRatio ||
ctx.oBackingStorePixelRatio ||
ctx.backingStorePixelRatio || 1;
var ratio = devicePixelRatio / backingStorePixelRatio;
if (devicePixelRatio !== backingStorePixelRatio) {
var oldWidth = canvas.width;
var oldHeight = canvas.height;
canvas.width = oldWidth * ratio;
canvas.height = oldHeight * ratio;
canvas.style.width = oldWidth + 'px';
canvas.style.height = oldHeight + 'px';
ctx.scale(ratio, ratio);
}
})(canvasThis, ctxThis);
}
提问者给出的明明是同一个设备,和像素比没有关系吧
#1 王铁手 · 2月5日 · 回复