HTML5 画布中的变换矩阵是什么?

jqueryjavascriptweb developmentfront end scripts

HTML5 画布提供了允许直接修改变换矩阵的方法。变换矩阵最初必须是恒等变换。然后可以使用变换方法进行调整。

示例

让我们看一个画布变换的示例 −

<!DOCTYPE HTML>
<html>
      <head>
        <script>
         function drawShape(){

            // 使用 DOM 获取画布元素
            var canvas = document.getElementById('mycanvas');

            // 确保当不支持 Canvas 时我们不会执行
            if (canvas.getContext){
               // use getContext to use the canvas for drawing
               var ctx = canvas.getContext('2d');
               var sin = Math.sin(Math.PI/6);
               var cos = Math.cos(Math.PI/6);
               ctx.translate(200, 200);
               var c = 0;

               for (var i=0; i <= 12; i++) {
                  c = Math.floor(255 / 12 * i);
                  ctx.fillStyle = "rgb(" + c + "," + c + "," + c + ")";
                  ctx.fillRect(0, 0, 100, 100);
                  ctx.transform(cos, sin, -sin, cos, 0, 0);
               }
               ctx.setTransform(-1, 0, 0, 1, 200, 200);
               ctx.fillStyle = "rgba(100, 100, 255, 0.5)";
               ctx.fillRect(50, 50, 100, 100);
            }
            else {
               alert('You need Safari or Firefox 1.5+ to see this demo.');
            }
         }
      </script>
   </head>
   <body onload = "drawShape();">
      <canvas id = "mycanvas" width = "400" height = "400"></canvas>
   </body>
</html>

相关文章