小程序-Taro如何实现利用Canvas生成一个二维码以及保存图片

这篇具有很好参考价值的文章主要介绍了小程序-Taro如何实现利用Canvas生成一个二维码以及保存图片。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

不多说,直接看代码和文字见解:

第一步:先安装weapp-qrcode,利用一个函数触发drawQrcode的方法生成一个二维码Canvas

npm install weapp-qrcode --save

 

handleChange() {
        drawQrcode({
            width: 180,//宽
            height: 180,//高
            canvasId: 'myQrcode',//绑定canvas的id
            text: '111'//识别二维码里面的内容数据
        })
        this.createShareQr() 
    }

到这一步其实你的二维码几乎成型了,但是你还有要把它给展示出来

第二步:调用Taro.canvasToTempFilePath的Taro文档的方法,他是用来将Canvas转换为临时路径的图片。

 

 // 将canvas转换为二维码图片
    createShareQr = () => {
        let that = this
        Taro.canvasToTempFilePath({
            canvasId: 'myQrcode',
            success(res) {
                console.log(res, 'res')
                let tempFilePath = res.tempFilePath;
                that.setState({
                    qrImagePath: tempFilePath,

                }, that.onPreviewImage)
            }
        })

    }

到这里你已经可以拿到二维码图片的路径地址,后面直接用Image标签。

二维码图片保存功能:

方法1:

可以先利用Taro.previewImage让图片进入预览模式,直接调用微信小程序的原生保存方法(长按图片保存)

onPreviewImage = () => {
        Taro.previewImage({
             urls: [get(this.state, 'qrImagePath')]//图片路径
         }) 
    }

方法2:

利用Taro.saveImageToPhotosAlbum实现图片保存,但是你先需要得到图片库的授权(Taro.openSetting授权)

 // 保存图片至本地
  saveToAlbum = () => {
    Taro.saveImageToPhotosAlbum({
      filePath: this.state.shareImage,//需要保存的图片路径
      success(res) {
        Taro.showToast({
          title: '保存成功',
          icon: 'success',
          duration: 2000,
        });
      },
      fail() {
        Taro.showModal({
          title: '提示',
          content: '需要您授权保存相册',
          showCancel: false,
          success() {
            Taro.openSetting({
              success(settingdata) {
                if (settingdata.authSetting['scope.writePhotosAlbum']) {
                  Taro.showModal({
                    title: '提示',
                    content: '获取权限成功,再次保存图片即可成功',
                    showCancel: false,

                  })
                } else {
                  Taro.showModal({
                    title: '提示',
                    content: '获取权限失败,无法保存到相册',
                    showCancel: false,

                  })
                }

              }

            });
          }
        });
      }
    })
  }

有点需要注意Taro.openSetting使用要搭配Taro.showModal文章来源地址https://www.toymoban.com/news/detail-521504.html

到了这里,关于小程序-Taro如何实现利用Canvas生成一个二维码以及保存图片的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 使用taro+canvas实现微信小程序的图片分享功能

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

    2024年02月05日
    浏览(49)
  • 小程序uniapp利用canvas生成海报并可以保存至相册

    这里主要讲的是JS部分,css和元素相关的就不展开赘述了,下方先给大伙看看效果图,图的下方有代码讲解,最下方有完整代码,如各位大神发现问题后请友好的交流勿喷。 想要用cavans生成海报,首先要解决的是,将图片素材引入至canvas画布中,小程序的canvas没有办法直接使

    2024年02月15日
    浏览(36)
  • 如何生成微信小程序二维码,小程序内页二维码

    你自己得有个微信公众号,只需要知道小程序的名字就可以了 生成小程序二维码 第一步编辑素材 第二步搜索小程序名字,然后回车,下一步 第三步选小程序码 小程序内页二维码 第一步编辑素材 第二步搜索小程序名字,然后回车,下一步 第三步点击‘获取更多路径’ 第四

    2024年02月15日
    浏览(37)
  • 微信小程序使用--如何生成二维码

    一、生成二维码 1.获取token 参照官方文档说明: https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/mp-access-token/getAccessToken.html 其中grant_type是写死的,appid和secret是注册小程序的时候获取的,然后会得到一个默认两小时失效的token 2.获取二维码 参照官方文档说明: https://developers.

    2024年02月04日
    浏览(40)
  • 生成微信小程序发布上线后的二维码 、获取微信小程序二维码、微信小程序二维码如何生成?

    情景: 1、在微信小程序审核完成,发布到线上后,想通过扫描小程序二维码进入小程序 2、可分享二维码出去,通过二维码扫码进入小程序 方法: 1、进入微信小程序的后台配置。链接:微信公众平台。(如图一) 2、进入 “设置” -- “ 基本设置” -- “小程序码及线下物

    2024年02月12日
    浏览(37)
  • 【vue-qrcode + html2canvas】前端二维码生成与下载

    其实一开始搜的时候,很多还都是推荐的 vue-qrcode ,于是就先用这个,但是发现想要在二维码中间放一个自定义的image的时候,这个库有点麻烦,需要自己将 image 图片盖在二维码上面(官方教程也是如此)。好吧,一开始我也这么干了,但是盖完之后,我需要下载这个有居中

    2024年04月17日
    浏览(32)
  • 【uni-app】后端返回base64转二维码并显示在canvas生成海报

    使用官方的 uni.getFileSystemManager().writeFile() 方法可将base64码转成的二维码显示在画布上,代码如下: const obj = {                     page: \\\'pages/sort/goodsDetail\\\',                     co_Nu: this.goodInfo.co_Nu                 }                 const _this = this       

    2024年02月11日
    浏览(37)
  • 微信小程序实现预约生成二维码

    业务需求 :点击预约按钮即可生成二维码凭码入校参观~ 如下是博主自己写的wxml: 以及wxss: 去Gitee下载工具包: 二维码工具包 http://​ https://gitee.com/WeiDoctor/weapp-qrcode-canvas-2d ​ 下载zip:     将dist文件夹中的js文件全部复制到utils目录下: 如下代码必须完整的导入再页面

    2024年04月15日
    浏览(41)
  • 基于 Taro 框架的微信小程序 canvas 绘图海报组件

    项目需要保存收款码,效果如图: (此文仅代表个人日常工作记录,能力有限描述并不全面) 1.安装 npm i taro-plugin-canvas -S --production(taro-plugin-canvas 是基于 Taro 框架的微信小程序 canvas 绘图组件,封装了常用的操作,通过配置的方式生成分享图片)  2.引入:import { TaroCanvas

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

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

    2024年02月01日
    浏览(38)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包