177-371-24501(同微信)

微信小程序之画布canvas组件的介绍和基本使用

2022-04-21 管理员

此文章主要是对canvas组件的介绍与基本的使用。在组件中绘画了一条固定的直线。

我们先了解一下canvas组件:

wxml:
<canvas binderror="canvasIdErrorCallback" bindtouchend="EventHandle" bindtouchstart="EventHandleStart" canvas-id="myCanvas" class="myCanvas" disable_scroll=""></canvas
注:

canvas 标签默认宽度300px、高度225px同一页面中的 canvas-id 不可重复,如果使用一个已经出现过的 canvas-id,该 canvas 标签对应的画布将被隐藏并不再正常工作disable_scroll属性可以禁止画布在移动时且有手势事件时,禁止屏幕滚动以及下拉刷新

wxss:

.myCanvas{
  border: 1px solid; //给一个边框
}

 

咱们看一下js中是怎么对carvas操作的

//test.js
Page({
  data: {},
  onl oad: function () {},
  onReady:function(){
    var my_carvas = wx.createCanvasContext('myCanvas', this) //1.创建carvas实例对象,方便后续使用。
    my_carvas.setStrokeStyle('red') //设置边框颜色。
    my_carvas.moveTo(20,100)  //设置绘画路线的起点 (20,100)>>>(当前画布对象的 x 轴,当前画布对象的 y 轴)
    my_carvas.lineTo(120, 100)  //增加一个新点,然后创建一条从上次指定点到目标点的线。(120,100)>>>(当前画布对象的 x 轴,当前画布对象的 y 轴)
    my_carvas.stroke()  //画出当前路径的边框。默认颜色色为黑色。
    my_carvas.draw()   //将之前在绘图上下文中的描述(路径、变形、样式)画到 canvas 中。
  }
})
设置起点与终点,绘画一条直线如图:(由左至右100个像素点)

 

canvas标签属性:

画布。

属性名 类型 默认值 说明
canvas-id String   canvas 组件的唯一标识符
disable-scroll Boolean false 当在 canvas 中移动时且有绑定手势事件时,禁止屏幕滚动以及下拉刷新
bindtouchstart EventHandle   手指触摸动作开始
bindtouchmove EventHandle   手指触摸后移动
bindtouchend EventHandle   手指触摸动作结束
bindtouchcancel EventHandle   手指触摸动作被打断,如来电提醒,弹窗
bindlongtap EventHandle   手指长按 500ms 之后触发,触发了长按事件后进行移动不会触发屏幕的滚动
binderror EventHandle   当发生错误时触发 error 事件,detail = {errMsg: 'something wrong'}

注意事项:Bug & Tip

tip:canvas组件是由客户端创建的原生组件,它的层级是最高的,不能通过 z-index 控制层级。tip: 请勿在scroll-view、swiper、picker-view、movable-view中使用canvas组件。tip:css动画对canvas组件无效。bug: 避免设置过大的宽高,在安卓下会有crash的问题

上一篇:微信小程序开发之前要知道的三件事
下一篇:微信小程序在开发中如何引用外部icon
相关资讯 Releva ntnews
解决方案 Solutions
相关热点 Hot spot
快速提升网站排名的方法
  1. 我们的优势
  2. 我们的实力
  3. 选择我们的理由
咨询电话(微信同号)

177-371-24501(同微信)

豫ICP备17049932号

Copyright © 2017-2022 版权所有 追风建站 Rights Reserved 技术支持:酷微科技

电话咨询 在线咨询 服务项目 SEO优化