最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

HTML5每日一练之Canvas标签的应用-绘制坐标变换图形

来源:懂视网 责编:小采 时间:2020-11-27 15:16:18
文档

HTML5每日一练之Canvas标签的应用-绘制坐标变换图形

HTML5每日一练之Canvas标签的应用-绘制坐标变换图形:绘制图形的时候,我们可能经常会想到旋转图形,或者对图形使用变形处理,使用Canvas API的坐标轴变换处理功能,就能实现这种效果。 在计算机上绘制图形的时候,是以坐标点为基准来进行绘制的,默认情况下Canvas画布的最左上角对应于坐标轴的原点(0, 0)
推荐度:
导读HTML5每日一练之Canvas标签的应用-绘制坐标变换图形:绘制图形的时候,我们可能经常会想到旋转图形,或者对图形使用变形处理,使用Canvas API的坐标轴变换处理功能,就能实现这种效果。 在计算机上绘制图形的时候,是以坐标点为基准来进行绘制的,默认情况下Canvas画布的最左上角对应于坐标轴的原点(0, 0)
绘制图形的时候,我们可能经常会想到旋转图形,或者对图形使用变形处理,使用Canvas API的坐标轴变换处理功能,就能实现这种效果。

在计算机上绘制图形的时候,是以坐标点为基准来进行绘制的,默认情况下Canvas画布的最左上角对应于坐标轴的原点(0, 0)。前面我们所讲的所有利用Canvas API绘制出来的图形都是以画布最左上交为坐标轴圆点,并以像素为单位来进行绘制的。

如果对这个坐标轴进行改变,那么就可以实现图形的变换处理了。对坐标的变换处理有以下三种方式:


平移
使用图形上下文对象的translate方法移动坐标轴原点,该方法定义如下:

  • cantext.translate(x, y);
  • x:表示横坐标,也就是将坐标轴x从原点向【左】移动多少个单位,默认以像素为单位
    y:表示纵坐标,也就是将坐标轴y从原点向【下】移动多少个单位,默认以像素为单位


    扩大
    使用图形上下文对象的scale方法将图形放大,该方法的定义如下所示:

  • cantext.scale(x, y);
  • x:表示横坐标,也就是【水平方向】将图形放大的倍数
    y:表示纵坐标,也就是【垂直方向】将图形放大的倍数
    注:将图形缩小的时候,将这两个参数设置为0-1之间的小数就可以了,比如,0.5表示将图形缩小一半。


    旋转
    使用图形上下文对象的rotate方法将图形进行旋转,该方法的定义如下所示:

    cantext.rotate(angle);
    angle:
  • 是指旋转的角度,旋转的中心点是坐标轴的原点。旋转方向为顺时针进行,要想逆方旋转,只需要设置为负数即可。

  • 下面的案例,就是使用这三种坐标变换方式共同实现的下图效果:
    930.png
    <!DOCTYPE HTML>
    <html>
     <head>
     <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
     <title>HTML5每日一练之Canvas标签的应用-绘制坐标变换图形</title>
     <script type="text/javascript">
     window.onload = function()
     {
     var canvas = document.getElementById("W3Cfuns_canvas");
     var context = canvas.getContext("2d");
     context.fillStyle = "#d4d4d4";
     context.fillRect(0, 0, 400, 300);
     //绘制图形
     context.translate(200, 25);
     context.fillStyle = "rgba(0, 0, 255, 0.25)";
     for(var i = 0; i < 50; i++)
     {
     context.translate(25, 25);
     context.scale(0.95, 0.95);
     context.rotate(Math.PI / 10);
     context.fillRect(0, 0, 100, 50);
     }
     }
     </script>
     </head>
     
     <body>
     <canvas id="W3Cfuns_canvas" width="600" height="400"></canvas>
     </body>
    </html>

    文档

    HTML5每日一练之Canvas标签的应用-绘制坐标变换图形

    HTML5每日一练之Canvas标签的应用-绘制坐标变换图形:绘制图形的时候,我们可能经常会想到旋转图形,或者对图形使用变形处理,使用Canvas API的坐标轴变换处理功能,就能实现这种效果。 在计算机上绘制图形的时候,是以坐标点为基准来进行绘制的,默认情况下Canvas画布的最左上角对应于坐标轴的原点(0, 0)
    推荐度:
    标签: 坐标 变换 的图
    • 热门焦点

    最新推荐

    猜你喜欢

    热门推荐

    专题
    Top