微信小程序如何实现涂鸦

这篇文章主要介绍了微信小程序实现的涂鸦功能,涉及微信小程序事件响应及画笔的相关操作技巧,并附带源码供读者下载参考,需要的朋友可以参考下

本文实例讲述了微信小程序实现的涂鸦功能。分享给大家供大家参考,具体如下:

先来看看运行效果:

微信小程序如何实现涂鸦

布局文件index.wxml:

                                            

登录后复制

逻辑功能文件index.js:

Page({ data:{  pen : 3, //画笔粗细默认值  color : '#cc0033' //画笔颜色默认值 }, startX: 0, //保存X坐标轴变量 startY: 0, //保存X坐标轴变量 isClear : false, //是否启用橡皮擦标记 //手指触摸动作开始 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() // 获取绘图动作数组   }) }, //手指触摸动作结束 touchEnd: function () { }, //启动橡皮擦方法 clearCanvas: function(){   if(this.isClear){    this.isClear = false;   }else{    this.isClear = true;   } }, penSelect: function(e){ //更改画笔大小的方法  console.log(e.currentTarget);  this.setData({pen:parseInt(e.currentTarget.dataset.param)});  this.isClear = false; }, colorSelect: function(e){ //更改画笔颜色的方法  console.log(e.currentTarget);  this.setData({color:e.currentTarget.dataset.param});  this.isClear = false; }})

登录后复制

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

有关jquery自动加载数据的方法

有关jquery自动加载数据的方法

有关jquery自动加载数据的方法

有关jquery自动加载数据的方法

有关jquery自动加载数据的方法

以上就是微信小程序如何实现涂鸦的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/3185256.html

(0)
上一篇 2025年3月31日 22:18:56
下一篇 2025年3月31日 22:19:08

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • ThinkPHP 微信小程序后端API开发实战

    可以使用thinkphp高效开发微信小程序后端api。1)定义路由并在控制器中处理请求,返回数据。2)实现分页、搜索和排序功能。3)注意请求验证、数据格式和错误处理。4)通过缓存、数据库索引和异步处理优化性能,并遵循最佳实践编写可维护代码。…

    2025年4月30日
    000
  • 归纳整理微信小程序权限接口

    本篇文章给大家带来了关于微信小程序的相关问题,其中主要介绍了微信小程序中的权限接口的相关内容,包括了用户授权接口、获取用户权限设置接口、打开用户权限设置接口等内容,下面一起来看一下,希望对大家有帮助。 【相关学习推荐:小程序学习教程】 1、…

    2025年4月28日 建站经验
    000
  • 微信小程序之页面路由知识点总结

    本篇文章给大家带来了关于微信小程序的相关知识,其中主要介绍了关于页面路由的相关内容,路由是指分组从源到目的地时,决定端到端路径的网络范围的进程,下面就一起来看一下,希望对大家有帮助。 【相关学习推荐:小程序学习教程】 什么是路由? 路由(r…

    2025年4月28日 建站经验
    000
  • 微信小程序开发常用功能汇总

    本篇文章给大家带来了关于微信小程序的相关知识,主要介绍了微信小程序开发常用功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,希望对大家有帮助。 【相关学习推荐:小程序学习教程】 获取用户信息 调用 wx.…

    2025年4月28日 建站经验
    000
  • 微信小程序全局配置以及页面配置详解

    本篇文章给大家带来了关于微信小程序的相关知识,其中主要介绍了关于全局配置以及页面配置的详细解析,其中包括了全局配置文件及常用配置项、小程序窗口组成部分、设置导航栏的标题、背景色、标题颜色等等内容,下面一起来看一下,希望对大家有帮助。 【相关…

    2025年4月28日 建站经验
    000
  • 开发微信小程序需要掌握哪些基础知识

    开发微信小程序需要掌握以下基础知识:1. 前端基础:html、css 和 javascript。2. 小程序特有技术:wxml、wxss 和小程序框架。3. 开发工具与调试技巧:使用微信开发者工具。4. 后端知识与 api 调用:理解 ht…

    2025年4月28日
    000
  • 如何使用 WXML 和 WXSS 构建微信小程序界面

    wxml 和 wxss 是构建微信小程序界面的关键技术。1)wxml 定义界面结构和内容,支持数据绑定。2)wxss 控制界面样式和布局,支持响应式设计和动画。通过结合使用,它们能创建美观、高效的用户界面。 引言 在探索如何使用 WXML …

    2025年4月28日
    000
  • 微信小程序的前端框架(如 Taro、uni-app)使用教程

    taro 和 uni-app 是用于开发微信小程序的高效前端框架。1. taro 采用 react 语法,uni-app 基于 vue.js。2. 它们通过编译器将代码转换为各平台原生代码,支持跨平台开发。3. 使用示例包括基本页面创建和复…

    2025年4月28日
    000
  • 微信开发者工具如何创建新的小程序项目

    微信开发者工具创建新的小程序项目步骤如下:1. 打开微信开发者工具,点击右上角“+”号,选择“新建小程序项目”。2. 填写项目名称、目录和appid(可选“无appid”)。3. 配置project.config.json文件,确保appi…

    2025年4月28日
    000
  • 零基础也能制作微信小程序教你如何轻松上手

    如果你认为制作微信小程序是一项只有编程高手才能完成的任务,那么我可以自信地告诉你:你错了!今天,我将揭示如何在没有任何基础的情况下,轻松掌握制作自己的微信小程序。 首先,让我们澄清一些误解。制作微信小程序并不需要你精通复杂的编程语言,它更像…

    2025年4月28日
    000

发表回复

登录后才能评论