JavaScript第十五章使用 Canvas 绘图

这篇博客详细介绍了JavaScript中使用Canvas进行2D绘图的各种操作,包括填充和描边、绘制矩形、路径、文本、图像以及变换等。还涉及到了阴影、渐变、模式、图像数据处理和WebGL的相关概念。内容涵盖Canvas的基本用法、2D上下文的属性和方法,以及WebGL的设置和错误处理。
摘要由CSDN通过智能技术生成

JavaScript第十五章使用 Canvas 绘图

  • <canvas>元素基本用法

使用 元素,必须先设置其 width 和 height 属性,指定可以绘图的区域大小。出现在开始和结束标签中的内容是后备信息,如果浏览器不支持 元素,就会显示这些信息。在使用 元素之前,首先要检测 getContext() 方法是否存在,这一步非常重要。使用 toDataURL() 方法,可以导出在 元素上绘制的图像

  • 2D 上下文

    • 填充和描边

    填充,就是用指定的样式(颜色、渐变或图像)填充图形;描边,就是只在图形的边缘画线。 大多数 2D 上下文操作都会细分为填充和描边两个操作,而操作的结果取决于两个属性: fillStyle 和 strokeStyle 。

    • 绘制矩形

    矩形是唯一一种可以直接在 2D 上下文中绘制的形状。与矩形有关的方法包括 fillRect() 、strokeRect() 和 clearRect() 。这三个方法都能接收 4 个参数:矩形的 x 坐标、矩形的 y 坐标、矩形宽度和矩形高度。这些参数的单位都是像素。 fillRect() 方法在画布上绘制的矩形会填充指定的颜色
    strokeRect() 方法在画布上绘制的矩形会使用指定的颜色描边。
    clearRect() 方法用于清除画布上的矩形区域。

    • 绘制路径

    通过路径可以创造出复杂的形状和线条。要绘制路径,首先必须调用 beginPath() 方法,表示要开始绘制新路径。然后,再通过调用下列方法来实际地绘制路径
    arc(x, y, radius, startAngle, endAngle, counterclockwise) :以 (x,y) 为圆心绘
    制一条弧线,弧线半径为 radius ,起始和结束角度(用弧度表示)分别为 startAngle 和endAngle 。最后一个参数表示 startAngle 和 endAngle 是否按逆时针方向计算,值为 false表示按顺时针方向计算
    arcTo(x1, y1, x2, y2, radius) :从上一点开始绘制一条弧线,到 (x2,y2) 为止,并且以给定的半径 radius 穿过 (x1,y1) 。
    bezierCurveTo(c1x, c1y, c2x, c2y, x, y) :从上一点开始绘制一条曲线,到 (x,y) 为止,并且以 (c1x,c1y) 和 (c2x,c2y) 为控制点。
    lineTo(x, y) :从上一点开始绘制一条直线,到 (x,y) 为止。
    moveTo(x, y) :将绘图游标移动到 (x,y) ,不画线。
    quadraticCurveTo(cx, cy, x, y) :从上一点开始绘制一条二次曲线,到 (x,y) 为止,并且以 (cx,cy) 作为控制点。
    rect(x, y, width, height) :从点 (x,y) 开始绘制一个矩形,宽度和高度分别由 width 和height 指定。这个方法绘制的是矩形路径,而不是 strokeRect() 和 fillRect() 所绘制的独立的形状。

    • 绘制文本

    绘制文本主要有两个方法: fillText() 和 strokeText() 。这两个方法都可以接收 4 个参数:要绘制的文本字符串、x 坐标、y 坐标和可选的最大像素宽度。
    font :表示文本样式、大小及字体,用 CSS 中指定字体的格式来指定,例如 “10px Arial” 。
    textAlign :表示文本对齐方式。可能的值有 “start” 、 “end” 、 “left” 、 “right” 和 “cente

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值