广告
返回顶部
首页 > 资讯 > 精选 >怎么用微信小程序的canvas组进行涂鸦
  • 791
分享到

怎么用微信小程序的canvas组进行涂鸦

2023-06-26 09:06:25 791人浏览 安东尼
摘要

本篇内容介绍了“怎么用微信小程序的canvas组进行涂鸦”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!核心原理说明:  1、能画出不同颜色的

本篇内容介绍了“怎么用微信小程序canvas组进行涂鸦”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

核心原理说明:

  1、能画出不同颜色的线条 主要是以下三个方法 setStrokeStyle(画笔的颜色) moveTo(把路径移动到画布中的指定点,但不创建线条) lineTo(添加一个新点,然后在画布中创建从该点到最后指定点的线条) 这样就可以从A点坐标到B点坐标 画出不同颜色的线条啦!!!

  2、橡皮擦的原理:之所以能擦掉画布上的图像就是通过把要擦掉的区域绘制成与画布一样的颜色 这样就可以”欺骗”自己的眼睛 达到橡皮擦的效果啦!!!

  index.html

  disable-scroll="false"

  bindtouchstart="touchStart"

  bindtouchmove="touchMove"

  bindtouchend="touchEnd">

  复制代码

  手指滑动代码

  //手指触摸动作开始

  touchStart: function (e) {

  //得到触摸点的坐标

  this.startX = e.changedTouches[0].x

  this.startY = e.changedTouches[0].y

  this.context = wx.createContext()

  if(this.isClear){ //判断是否启用的橡皮擦功能 ture表示清除 false表示画画

  this.context.setStrokeStyle('#F8F8F8') //设置线条样式 此处设置为画布的背景颜色 橡皮擦原理就是:利用擦过的地方被填充为画布的背景颜色一致 从而达到橡皮擦的效果

  this.context.setLineCap('round') //设置线条端点的样式

  this.context.setLineJoin('round') //设置两线相交处的样式

  this.context.setLineWidth(20) //设置线条宽度

  this.context.save(); //保存当前坐标轴的缩放、旋转、平移信息

  this.context.beginPath() //开始一个路径

  this.context.arc(this.startX,this.startY,5,0,2*Math.PI,true); //添加一个弧形路径到当前路径,顺时针绘制 这里总共画了360度 也就是一个圆形

  this.context.fill(); //对当前路径进行填充

  this.context.restore(); //恢复之前保存过的坐标轴的缩放、旋转、平移信息

  }else{

  this.context.setStrokeStyle(this.data.color)

  this.context.setLineWidth(this.data.pen)

  this.context.setLineCap('round') // 让线条圆润

  this.context.beginPath()

  }

  },

  //手指触摸后移动

  touchMove: function (e) {

  var startX1 = e.changedTouches[0].x

  var startY1 = e.changedTouches[0].y

  if(this.isClear){ //判断是否启用的橡皮擦功能 ture表示清除 false表示画画

  this.context.save(); //保存当前坐标轴的缩放、旋转、平移信息

  this.context.moveTo(this.startX,this.startY); //把路径移动到画布中的指定点,但不创建线条

  this.context.lineTo(startX1,startY1); //添加一个新点,然后在画布中创建从该点到最后指定点的线条

  this.context.stroke(); //对当前路径进行描边

  this.context.restore() //恢复之前保存过的坐标轴的缩放、旋转、平移信息

  this.startX = startX1;

  this.startY = startY1;

  }else{

  this.context.moveTo(this.startX, this.startY)

  this.context.lineTo(startX1, startY1)

  this.context.stroke()

  this.startX = startX1;

  this.startY = startY1;

  }

  //只是一个记录方法调用的容器,用于生成记录绘制行为的actions数组。context跟不存在对应关系,一个context生成画布的绘制动作数组可以应用于多个

  wx.drawCanvas({

  canvasId: 'myCanvas',

  reserve: true,

  actions: this.context.getActions() // 获取绘图动作数组

  })

  }

  复制代码

  以上是一部分代码展示,下面做核心原理说明:

  1、能画出不同颜色的线条 主要是以下三个方法 setStrokeStyle(画笔的颜色) moveTo(把路径移动到画布中的指定点,但不创建线条) lineTo(添加一个新点,然后在画布中创建从该点到最后指定点的线条) 这样就可以从A点坐标到B点坐标 画出不同颜色的线条啦!!!

  2、橡皮擦的原理:之所以能擦掉画布上的图像就是通过把要擦掉的区域绘制成与画布一样的颜色 这样就可以”欺骗”自己的眼睛 达到橡皮擦的效果啦!!!

“怎么用微信小程序的canvas组进行涂鸦”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: 怎么用微信小程序的canvas组进行涂鸦

本文链接: https://www.lsjlt.com/news/308229.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么用微信小程序的canvas组进行涂鸦
    本篇内容介绍了“怎么用微信小程序的canvas组进行涂鸦”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!核心原理说明:  1、能画出不同颜色的...
    99+
    2023-06-26
  • 微信小程序canvas中translate怎么用
    本篇内容介绍了“微信小程序canvas中translate怎么用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!canvasContext.t...
    99+
    2023-06-26
  • 微信小程序画布canvas怎么使用
    这篇“微信小程序画布canvas怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“微信小程序画布canvas怎么使用”文...
    99+
    2023-06-26
  • 微信小程序怎么进行分销小程序分销策略
    本篇内容介绍了“微信小程序怎么进行分销小程序分销策略”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  说起这个微信小程序来,相信很多小伙伴们...
    99+
    2023-06-26
  • 微信小程序组件contact-button怎么用
    这篇文章主要介绍“微信小程序组件contact-button怎么用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“微信小程序组件contact-button怎么用”文章能帮助大家解决问题。contac...
    99+
    2023-06-26
  • 微信小程序组件样式怎么用
    这篇文章主要讲解了“微信小程序组件样式怎么用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“微信小程序组件样式怎么用”吧!组件样式组件对应 wxss 文件的样式,只对组件w...
    99+
    2023-06-26
  • 微信小程序image组件库怎么用
    今天小编给大家分享一下微信小程序image组件库怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。微信小程序image图片...
    99+
    2023-06-26
  • 微信小程序怎么用canvas实现电子签名
    这篇文章主要介绍“微信小程序怎么用canvas实现电子签名”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“微信小程序怎么用canvas实现电子签名”文章能帮助大家解决问题。具体代码如下<view...
    99+
    2023-07-02
  • 微信小程序倒计时组件怎么用
    这篇文章主要介绍“微信小程序倒计时组件怎么用”,在日常操作中,相信很多人在微信小程序倒计时组件怎么用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”微信小程序倒计时组件怎么用”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-26
  • 微信小程序中MaterialDesign--input组件怎么用
    这篇文章将为大家详细讲解有关微信小程序中MaterialDesign--input组件怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。主要通过input输入事件配合c...
    99+
    2022-10-19
  • 微信小程序表单组件checkbox怎么用
    这篇文章主要介绍“微信小程序表单组件checkbox怎么用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“微信小程序表单组件checkbox怎么用”文章能帮助大家解决问题。checkboxcheckb...
    99+
    2023-06-26
  • 微信小程序媒体组件audio怎么用
    这篇文章主要介绍了微信小程序媒体组件audio怎么用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇微信小程序媒体组件audio怎么用文章都会有所收获,下面我们一起来看看吧。audio音频。属性名类型默认值说明i...
    99+
    2023-06-26
  • 微信小程序的pages怎么用
    本文小编为大家详细介绍“微信小程序的pages怎么用”,内容详细,步骤清晰,细节处理妥当,希望这篇“微信小程序的pages怎么用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。  pages  接受一个数组,每一项...
    99+
    2023-06-26
  • 微信小程序的navigator怎么用
    这篇文章主要介绍“微信小程序的navigator怎么用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“微信小程序的navigator怎么用”文章能帮助大家解决问题。navigator页面链接。属性名类...
    99+
    2023-06-26
  • 微信小程序的map怎么用
    今天小编给大家分享一下微信小程序的map怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。微信小程序map地图。属性名类型...
    99+
    2023-06-26
  • 微信小程序的backgroundAudioManager怎么用
    这篇文章主要介绍了微信小程序的backgroundAudioManager怎么用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇微信小程序的backgroundAudioManager怎么用文章都会有所收获,下面...
    99+
    2023-06-26
  • 微信小程序的表单组件picker-view怎么用
    这篇文章主要介绍“微信小程序的表单组件picker-view怎么用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“微信小程序的表单组件picker-view怎么用”文章能帮助大家解决问题。picker...
    99+
    2023-06-26
  • 微信小程序怎么跟H5页面进行交互
    在微信小程序实现跟H5页面进行交互的方法使用web-view标签内嵌网页,通过 src 携带参数,通过 @message 接收h5传回的数据实现交互<template><view><web-view :src=...
    99+
    2022-10-17
  • 微信小程序组件有哪些及怎么用
    本文小编为大家详细介绍“微信小程序组件有哪些及怎么用”,内容详细,步骤清晰,细节处理妥当,希望这篇“微信小程序组件有哪些及怎么用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。组件小程序提供了丰富的基础组件给开发者...
    99+
    2023-06-26
  • 微信小程序按钮组件button怎么使用
    这篇文章主要介绍“微信小程序按钮组件button怎么使用”,在日常操作中,相信很多人在微信小程序按钮组件button怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”微信小程序按钮组件button怎么使用...
    99+
    2023-06-26
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作