微信小程序实现canvas画圆形微信头像

这篇具有很好参考价值的文章主要介绍了微信小程序实现canvas画圆形微信头像。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.需要获取用户信息,拿到用户头像图片

    wx.getUserProfile({
      desc: '用于生成海报', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
      success: (res) => {
        wx.downloadFile({
          url: res.userInfo.avatarUrl,
          success (res) {
            if (res.statusCode === 200) {
              this.setData({
                file_avatar:res.tempFilePath //拿到图片本地地址
              })
            }
          }
        })
      }
    })

2.实例化一个canvas对象,绘制出圆形并将头像固定到圆形中心位置

let ctx = wx.createCanvasContext('myCanvas', this)
this.circleAvatar(ctx, this.data.file_avatar, rpx2px(150),rpx2px(150),25);

  circleAvatar(ctx, img, x, y, r){
    // 如果在绘制图片之后还有需要绘制别的元素,需启动 save() 、restore() 方法,否则 clip() 方法会        
    // 导致之后元素都不会被渲染出来
    // save():保存当前 Canvas 画布状态
    // restore():恢复到保存时的状态
    // ctx:实例化canvas对象
    // img:图片地址
    // x:圆形中心点x坐标
    // y:圆形中心点y坐标
    // r:圆形半径
    ctx.save()
    let d = r * 2;
    let cx = x - r;
    let cy = y - r;
    ctx.arc(x, y, r, 0, 2 * Math.PI);
    ctx.strokeStyle = '#fff'; // 设置绘制圆形边框的颜色
    ctx.stroke(); // 绘制出圆形,默认为黑色,可通过 ctx.strokeStyle = '#FFFFFF',设置想要的颜色
    ctx.clip();
    ctx.drawImage(img, cx, cy, d, d);
    ctx.restore();
  },

3.实现效果

 canvas 画圆形头像,微信小程序,小程序,前端

 文章来源地址https://www.toymoban.com/news/detail-611274.html

 

到了这里,关于微信小程序实现canvas画圆形微信头像的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序实现输入内容生成二维码(canvas)

    1.封装好的QRcode的js文件 2.在我们需要使用的页面的js文件中引入该文件  效果如下:  3.首先在wxml中书写 canvas标签 4.先声明一个方法来解决中文乱码的问题 5.当我们文本域的值发生改变时,也要渲染到视图层 需求: 当我们文本框输入内容时,点击以下的生成二维码按钮,下

    2024年02月16日
    浏览(33)
  • 微信小程序中使用画布canvas实现动态心电图绘制

    大家好,我是雄雄。 近期,接了个项目,三端(小程序、PC、公众号)同步开发,PC端没的问题,以前一直做的就是PC端,但是小程序和公众号之前没有做过,只能通过这个项目,边做边学了。 人家都说小程序用原生的特别难,大部分都用 uniapp 开发,说是这个方便快捷,还能

    2024年02月09日
    浏览(32)
  • 【微信小程序5】利用canvas实现纯色背景抠图功能

            最近,在小程序开发过程中,遇到了需要设置背景透明效果功能的需求。如果借助百度开放接口实现抠图功能是非常方便的,但是一个最大的缺点就是需要money支持。不得已,参考网上各家代码,实现了借助canvas来实现纯色背景抠图功能。只是非常简单的一个应用

    2024年02月01日
    浏览(38)
  • 使用taro+canvas实现微信小程序的图片分享功能

    二轮充电业务中,用户充电完成后在订单详情页展示订单相关信息,用户点击分享按钮唤起微信小程序分享菜单,将生成的图片海报分享给微信好友或者下载到本地,好友可通过扫描海报中的二维码加群领取优惠。 使用场景及功能:微信小程序 生成海报图片 分享好友 下载图

    2024年02月05日
    浏览(49)
  • 微信小程序用 canvas 实现手写签名弹框(全网最最最详细!!)

    🌸点击弹出手写签名面板事件 🌸手写签名面板 Popup 弹出层( vant ) 🌸最后可以使用 canvas 组件的 toTempFilePath 方法将 canvas 画布内容保存为临时文件路径,然后将该路径传递给后端即可。 💡 文中触摸板的方法中多次获取 canvas 的上下文,即 const context = wx.createCanvasContext(\\\'

    2024年02月05日
    浏览(31)
  • 微信小程序canvas实现简易手写签名版(uni-app)

    微信小程序可以通过canvas实现手写签名的效果,本文中使用的是微信小程序Canvas 2D接口 本示例中绘制的是横屏签名的效果,效果图如下: 这里我们需要调整canvas的物理宽高,默认物理宽高为300*150px,物理宽高调整通过css样式即可,本文中需要根据屏幕高度进行动态调整,使

    2024年02月12日
    浏览(42)
  • uni-app 微信小程序中如何通过 canvas 画布实现电子签名?

    一、实际应用场景 电子签名软件应用场景:电子签名在金融、银行、贷款行业中可以用于对内日常办公流转的文档的盖章签字,对外涉及业务合作协议,采购合同,贷款申请、信用评估、贷款合同、贷款文件表、说明函等等。 可以说,只要是涉及纸质文档签字盖章的场景,

    2024年02月10日
    浏览(36)
  • 修复微信小程序获取头像的bug,微信小程序新版头像API使用

    接着我之前发布的一篇文章:微信小程序上传头像的临时路径,持久化保存到服务器与数据库(nodejs后台开发)_盒子猫君的博客-CSDN博客 今天我就来解决掉之前的问题吧! 从之前的后台报错来看,获取到的tempFilePath值和avatarUrl的值相同,都是http://tmp,不过头像都已经上传成

    2024年02月07日
    浏览(29)
  • 基于uniapp+java实现微信小程序无感登录,授权手机号登录,获取昵称头像,获取定位信息

    使用uniapp开发微信小程序,避免不了微信登录。但自动微信2022年升级了api版本后,不再允许返回昵称和头像信息,所以才出现无感登录或授权手机号登录。实现方式大同小异。 java后端所需maven 前端实现代码: 由于使用uni.login并不需要用户授权,所以能做到无感登录。 后端

    2024年02月16日
    浏览(45)
  • 最新微信小程序获取头像昵称,直接用,uniapp获取微信小程序头像昵称

    微信小程序获取用户头像和昵称一个开放接口是wx.getUserInfo,2021年4月5日被废弃,原因是很多开发者在打开小程序时就通过组件方式唤起getUserInfo弹窗,如果用户点击拒绝,无法使用小程序,这种做法打断了用户正常使用小程序的流程,同时也不利于小程序获取新用户,后面新

    2024年02月11日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包