记录canvas学习1

<canvas>标签定义图形,但它只是图形容器,本身并无绘图能力,需要使用js来绘制图形。
canvas标签的默认宽高为300px*150px,使用css设置宽高时,canvas只会从原先的宽高拉伸至设置的宽高,造成图像变形。
canvas宽高设置可直接写在标签内部或者使用js设置,容器类似于一个画布,超过范围的图形不会被显示。

<canvas id='test' width='400px' height='200px'></canvas>
    let canvas=document.getElementById('test')
    canvas.width=500
    canvas.height=400
image.png

使用canvas绘图之前先使用getContext()获取绘图对象。
以画直线来举例:moveTo(x,y) 起点坐标;lineTo(x,y) 终点坐标;stroke() 绘制线条。
可以理解为moveTo()将画笔移至指定坐标,lineTo()为向指定坐标画一条线,可以使用一次moveTo(),后跟若干lineTo()指令进行多次画线。

    let canvas=document.getElementById('test')
    let context=canvas.getContext('2d')
    context.moveTo(10,10)
    context.lineTo(390,390)
    context.moveTo(390,10)
    context.lineTo(10,390)
    context.stroke()
image.png

当为canvas绘制的路径添加样式时,会对之前的所有路径添加样式,但有时候希望对不同的线条添加不同的样式,这里需要使用beginPath()方法,表明之后的路径是独立的路径。

    let canvas=document.getElementById('test')
    let context=canvas.getContext('2d')
    context.moveTo(10,10)
    context.lineTo(390,390)
    context.moveTo(390,10)
    context.lineTo(10,390)
    context.strokeStyle='red'
    context.stroke()
    context.beginPath()
    context.moveTo(10,200)
    context.lineTo(390,200)
    context.strokeStyle='blue'
    context.stroke()
image.png

strokeStyle有三种赋值方式:颜色,渐变,图案

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一:canvas简介 1.1什么是canvas? ①:canvas是HTML5提供的一种新标签 ②:HTML5 ...
    GreenHand1阅读 4,789评论 2 32
  • 书中代码示例效果展示:Core HTML5 Canvas Examples 基础知识 canvas元素 canva...
    szu_bee阅读 2,908评论 2 28
  • 一、canvas简介 1.1 什么是canvas?(了解) 是HTML5提供的一种新标签 Canvas是一个矩形区...
    Looog阅读 3,981评论 3 40
  • 一、简介 HTML5 中的定义:“它是依赖分辨率的位图画布,你可以在 canvas 上面绘制任何图形,甚至加载照片...
    destiny0904阅读 10,641评论 1 4
  • 这一届的奥运会似乎比往年多了点什么。 拿首金的张梦雪让人记住的不只有那惊为天人的10.9环,还有那永远处变不惊的“...
    心创社阅读 465评论 0 1