美文网首页
初识canvas(二)

初识canvas(二)

作者: 付出的前端路 | 来源:发表于2018-07-09 15:03 被阅读0次

canvas的用途之绘制矩形

绘制矩形

矩形是唯一一种可以直接在 2D 上下文中绘制的形状。与矩形有关的方法包括fillRect()、strokeRect()和 clearRect()。这三个方法都能接收 4 个参数:矩形的 x 坐标、矩形的 y 坐标、矩形宽度和矩形高度。这些参数的单位都是像素。

1.fillRect()

fillRect()方法在画布上绘制的矩形会填充指定的颜色。填充的颜色通过 fillStyle 属性指定,比如:

var drawing = document.getElementById("drawing");
//确定浏览器支持<canvas>元素
if (drawing.getContext){
 var context = drawing.getContext("2d");
 /*
 * 根据 Mozilla 的文档
 * http://developer.mozilla.org/en/docs/Canvas_tutorial:Basic_usage
 */
 //绘制红色矩形
 context.fillStyle = "#ff0000";
 context.fillRect(10, 10, 50, 50);
 //绘制半透明的蓝色矩形
 context.fillStyle = "rgba(0,0,255,0.5)";
 context.fillRect(30, 30, 50, 50);
}

以上代码首先将 fillStyle 设置为红色,然后从(10,10)处开始绘制矩形,矩形的宽和高均为 50 像
素。然后,通过 rgba()格式再将 fillStyle 设置为半透明的蓝色,在第一个矩形上面绘制第二个矩形。结果就是可以透过蓝色的矩形看到红色的矩形。

2.strokeRect()

strokeRect()方法在画布上绘制的矩形会使用指定的颜色描边。描边颜色通过 strokeStyle 属性指定。比如:

var drawing = document.getElementById("drawing");
//确定浏览器支持<canvas>元素
if (drawing.getContext){
 var context = drawing.getContext("2d");
 /*
 * 根据 Mozilla 的文档
 * http://developer.mozilla.org/en/docs/Canvas_tutorial:Basic_usage
 */
 //绘制红色描边矩形
 context.strokeStyle = "#ff0000";
 context.strokeRect(10, 10, 50, 50);
 //绘制半透明的蓝色描边矩形
 context.strokeStyle = "rgba(0,0,255,0.5)";
 context.strokeRect(30, 30, 50, 50);
}

以上代码绘制了两个重叠的矩形。不过,这两个矩形都只有框线,内部并没有填充颜色。描边线条的宽度由 lineWidth 属性控制,该属性的值可以是任意整数。另外,通过 lineCap 属性可以控制线条末端的形状是平头、圆头还是方头("butt"、"round"或"square"),通过 lineJoin 属性可以控制线条相交的方式是圆交、斜交还是斜接("round"、"bevel"或"miter")。

3.clearRect()

clearRect()方法用于清除画布上的矩形区域。本质上,这个方法可以把绘制上下文中的某一矩形区域变透明。通过绘制形状然后再清除指定区域,就可以生成有意思的效果,例如把某个形状切掉一块。下面看一个例子。

var drawing = document.getElementById("drawing");
//确定浏览器支持<canvas>元素
if (drawing.getContext) {
  var context = drawing.getContext("2d");
  /*
   * 根据 Mozilla 的文档
   * http://developer.mozilla.org/en/docs/Canvas_tutorial:Basic_usage
   */
  //绘制红色矩形
  context.fillStyle = "#ff0000";
  context.fillRect(10, 10, 50, 50);
  //绘制半透明的蓝色矩形
  context.fillStyle = "rgba(0,0,255,0.5)";
  context.fillRect(30, 30, 50, 50);
  //在两个矩形重叠的地方清除一个小矩形
  context.clearRect(40, 40, 10, 10);
}

参考链接:

相关文章

  • 初识canvas(二)

    canvas的用途之绘制矩形 绘制矩形 矩形是唯一一种可以直接在 2D 上下文中绘制的形状。与矩形有关的方法包括f...

  • 初识canvas(二)

    上节文章中,给大家分享了canvas最基础的用法,包括绘制线条、控制渲染方式、绘制图形、作用域、添加阴影、清理、剪...

  • Canvas

    一、初识canvas canvas画布默认宽高是 300 * 150 px canvas宽高要使用canvas标签...

  • 初识canvas

    趁着今天有空,就把canvas学了一下。提供一下学习地址:https://developer.mozilla.or...

  • 初识Canvas

    canvas元素(标签)是HTML5中新增的一个重要元素,它被用来专门绘制图形(当然和以前的svg、vml是有区别...

  • canvas初识

    canvas是html5中新增的标签,用于配合js绘制图形 创建一个画布 canvas 是一个二维网格。左上角坐标...

  • 初识canvas(一)

    api 1.getContext() 要在这块画布(canvas)上绘图,需要取得绘图上下文。而取得绘图上下文对象...

  • 初识canvas(三)

    绘制路径 2D 绘制上下文支持很多在画布上绘制路径的方法。通过路径可以创造出复杂的形状和线条。要绘制路径,首先必须...

  • 初识canvas(画布)

    canvas(画布) 1、 HTML5提供的新元素2、 Canvas在HTML页面提供画布的功能,可以在页面中绘制...

  • 初识canvas(一)

    首先给大家发布一个消息,从今天开始,作者会陆续分享基于 3D 内容 -- webgl。同时也希望有兴趣的同学一起讨...

网友评论

      本文标题:初识canvas(二)

      本文链接:https://www.haomeiwen.com/subject/wvftpftx.html