canvas教程

HTML5画布中的变换

字号+ 作者:H5之家 来源:H5之家 2017-04-13 14:03 我要评论( )

在HTML5 canvas教程的这一部分中,我们将讨论转换。

在HTML5 canvas教程的这一部分中,我们将讨论变换。

仿射变换是由零个或多个线性变换(旋转,缩放,或剪切)和平移(移动)。可以将多个线性变换组合成单个矩阵。旋转是使刚体围绕固定点移动的变换。缩放是放大或缩小对象的转换。比例因子在所有方向是相同的。翻译是一个转换,每个点在指定的方向上移动一个恒定的距离。剪切是将物体垂直于给定轴线移动的变换,轴的一侧的值比另一侧更大。

有一种transform()方法,它将当前变换与方法参数描述的矩阵相乘。我们能够缩放,旋转,移动和剪切上下文。也有执行特定的转换方法: translate(),rotate(),和scale()。

平移变换

以下示例显示了简单的平移变换。

translation.html

该示例在画布的中间绘制一个圆。

该translate()方法将坐标系的原点移动到画布的中间。

画一个圆。它的中心点是画布的中间。


图:平移变换

旋转变换

下一个例子演示了一个旋转。

rotation.html

该示例在矩形上执行旋转。

该rotate()方法执行旋转。角度参数表示顺时针旋转角度,以弧度表示。


图:旋转变换

缩放变换

使用该scale()方法进行缩放。该方法有两个参数:x比例因子和y比例因子。

scaling.html

在这个例子中,有一个矩形对象。首先,我们将其缩小,然后我们缩小一点。

转换操作是叠加的。为了隔离平移和缩放操作,我们将它们放在save()和restore()方法之间。该save()方法保存画布的整个状态,该restore() 方法将恢复它。


图:缩放

剪切

剪切是一种使沿着一个或两个轴的物体的形状发生变形的变换。像尺度和平移一样,可以沿着坐标轴的一个或两个沿着剪切。

shearing.html

没有一个特定的剪切方法,我们使用通用 transform()方法。

这条线使得矩形的线条更平滑。

蓝色矩形水平剪切(歪斜)。该transform()方法的参数有:水平缩放,水平剪切,垂直剪切,垂直缩放,水平平移和垂直平移。


图:剪切

圆环

在下面的例子中,我们通过旋转一个椭圆来创建一个复杂的形状。

DonutEx.java

该示例使用ellipse()方法,在编写本教程的时候,所有浏览器都不支持此方法。该示例运行在Chrome和Opera上。

椭圆的中心点位于画布的中心。

我们创建36个椭圆。椭圆旋转。该ellipse() 方法采用以下参数:椭圆中心点的x和y坐标,椭圆的长轴半径,椭圆的短轴半径,旋转角,起始角和终点角。

在HTML5 canvas教程的这一部分中,我们讨论了变换。

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • Having fun with Html5 Canvas

    Having fun with Html5 Canvas

    2017-04-13 14:05

  • Canvas实现放射线动画效果

    Canvas实现放射线动画效果

    2017-04-13 10:01

  • HTML5 Canvas绘制圆点虚线实例_html5教程技巧

    HTML5 Canvas绘制圆点虚线实例_html5教程技巧

    2017-04-13 10:01

  • canvas实现简易的圆环进度条效果

    canvas实现简易的圆环进度条效果

    2017-04-13 10:00

网友点评
b