scale() 是 Canvas 2D API 根据 x 水平方向和 y 垂直方向,为canvas 单位添加缩放变换的方法。 默认 在 canvas 中一个单位实际上就是一个像素。例如,如果我们将0.5作为缩放因子,最终的单位会变成0.5像素,并且形状的尺寸会变成原来的一半。相似的方式,我们将2.0作为缩放因子,将会增大单位尺寸变成两个像素。形状的尺寸将会变成原来的两倍。
绘制矩形,放大到 200%,然后再次绘制矩形:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>HTML canvas scale()方法使用-菜鸟教程(cainiaoplus.com)</title> </head> <body> <canvas id="myCanvas" width="300" height="150" style="border:1px solid #d3d3d3;"> 您的浏览器不支持 HTML5 canvas 标签。 </canvas> <script> var c=document.getElementById("myCanvas"); var ctx=c.getContext("2d"); ctx.strokeRect(5,5,25,15); ctx.scale(2,2); ctx.strokeRect(5,5,25,15); </script> </body> </html>测试看看 ‹/›
IEFirefoxOperaChromeSafari
Internet Explorer 9、Firefox、Opera、Chrome 和 Safari 支持 scale() 方法。
注意:Internet Explorer 8 及之前的版本不支持 <canvas> 元素。
scale() 方法缩放当前绘图至更大或更小。
注意:如果您对绘图进行缩放,所有之后的绘图也会被缩放。定位也会被缩放。如果您 scale(2,2),那么绘图将定位于距离画布左上角两倍远的位置。
JavaScript 语法: | context.scale(scalewidth,scaleheight); |
---|
参数 | 描述 |
---|---|
scalewidth | 缩放当前绘图的宽度(1=100%,0.5=50%,2=200%,依次类推)。 |
scaleheight | 缩放当前绘图的高度(1=100%,0.5=50%,2=200%,依次类推)。 |
绘制一个矩形;放大到 200%,再次绘制矩形;放大到 200%,再次绘制矩形;放大到 200%,再次绘制矩形:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>HTML canvas scale()方法使用-菜鸟教程(cainiaoplus.com)</title> </head> <body> <canvas id="myCanvas" width="300" height="170" style="border:1px solid #d3d3d3;"> 您的浏览器不支持 HTML5 canvas 标签。 </canvas> <script> var c=document.getElementById("myCanvas"); var ctx=c.getContext("2d"); ctx.strokeRect(5,5,25,15); ctx.scale(2,2); ctx.strokeRect(5,5,25,15); ctx.scale(2,2); ctx.strokeRect(5,5,25,15); ctx.scale(2,2); ctx.strokeRect(5,5,25,15); </script> </body> </html>测试看看 ‹/›