我们在运用canvas时须要设置画布的大小,即设置canvas标签的width,height属性。
<canvas width="200px" height="200px"></canvas>
在挪动端,画布的大小要依据屏幕的大小举行适配,我们平常采纳rem
连系媒体查询
的体式格局。运用canvas时就碰到碰到一些问题:
canvas的width属性不支撑
rem
单元(假如运用款式固然支撑rem
,但注重canvas的width属性与style中的width是有区分的),以下
<canvas width="2.5rem" height="2.5rem"></canvas>
translate
要领传参是坐标位置,不带单元,如ctx.translate(10,10)
;
适配屏幕是必需的,但怎样处理?用最原始的百分比规划就能够:
//猎取屏幕的宽度
var clientWidth = document.documentElement.clientWidth;
//依据设想图中的canvas画布的占比举行设置
var canvasWidth = Math.floor(clientWidth*200/720);
canvas.setAttribute('width',canvasWidth+'px');
canvas.setAttribute('height',canvasWidth+'px');
//translate要领也能够直接传入像素点坐标
末了趁便放上写好的Demo:http://jsfiddle.net/0eLzthjv/
假如有其他处理方案,迎接议论交换!假如文章对你有协助,点下面的引荐勉励下呗(๑><๑)