微信小程序使用canvas画布生成二维码海报分享图片(完整示例代码)

这篇具有很好参考价值的文章主要介绍了微信小程序使用canvas画布生成二维码海报分享图片(完整示例代码)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

canvas.js

//获取应用实例

const app = getApp()

Page({

/**

  • 页面的初始数据

*/

data: {

// canvas

_width: 0, //手机屏宽

_heigth: 0,//手机屏高

swiperHeight: 300,//主图图片高度

canvasType: false,//canvas是否显示

loadImagePath: ‘’,//下载的图片

imageUrl: ‘https://cos.myfaka.com/car/service/1.jpg’, //主图网络路径

codeUrl: ‘https://cos.myfaka.com/car/share/code.jpg’,//二维码网络路径

localImageUrl: ‘’, //绘制的商品图片本地路径

localCodeUrl: ‘’, //绘制的二维码图片本地路径

},

/**

  • 生命周期函数–监听页面加载

*/

onLoad: function (options) {

},

/按生成图片按钮时/

creatQrcodePictures: function () {

wx.showLoading({

title: ‘正在绘制图片’,

})

/获取手机宽高/

let that = this

let imgHeigth = this.data.swiperHeight

let imgUrl = this.data.imageUrl

let qrcodeUrl = this.data.codeUrl

wx.getSystemInfo({

success(res) {

that.setData({

_width: res.windowWidth,

_heigth: res.windowHeight,

canvasType: true,

})

// 获取图片信息生成canvas

that.getImginfo([imgUrl, qrcodeUrl], 0);

}

})

},

// 获取图片信息

getImginfo: function (urlArr, _type) {

let that = this;

wx.getImageInfo({

src: urlArr[_type],

success: function (res) {

//res.path是网络图片的本地地址

if (_type === 0) { //商品图片

that.setData({

localImageUrl: res.path,

})

that.getImginfo(urlArr, 1)

} else {

that.setData({ //二维码

localCodeUrl: res.path,

})

// 创建canvas图片

that.createNewImg();

}

},

fail: function (res) {

//失败回调

console.log(‘Fail:’, _type, res)

}

});

},

//绘制canvas

createNewImg: function () {

let _width = this.data._width,

_heigth = this.data._heigth; //屏幕宽与高

let imgHeigth = this.data.swiperHeight, //原图片高度

scale = (_width - 40) / _width, //缩小比例

that = this;

let imgH = imgHeigth * scale; //绘制时图片显示高度

let ctx = wx.createCanvasContext(‘mycanvas’);

// 绘制背景

ctx.setFillStyle(“#fff”);

ctx.fillRect(0, 0, _width - 40, imgH + 160);

//绘制图片

ctx.drawImage(this.data.localImageUrl, 10, 10, _width - 60, imgH);

// 绘制标题

ctx.setFontSize(18);

ctx.setFillStyle(‘#333’);

let txtWidth = _width - 60 + 30 - 100 - 50; //文字的宽度

//商品名称

ctx.fillText(‘汽车服务:白金蜡’, 10, imgH + 40, txtWidth);

// 绘制价格单位 ‘¥’

ctx.setFontSize(14);

ctx.setFillStyle(‘#d2aa68’);

ctx.fillText(‘¥’, 10, imgH + 65, txtWidth);

// 绘制价格

ctx.setFontSize(18);

ctx.fillText(‘90元/次’, 26, imgH + 65, txtWidth);

// 绘制小程序名称

ctx.setFontSize(20);

ctx.setFillStyle(‘red’);

ctx.fillText(‘武鸣爱车’, 10, imgH + 105, txtWidth);

// 绘制提示信息

ctx.setFontSize(14);

ctx.setFillStyle(‘#999’);

ctx.fillText(‘微信小程序 • 长按识别’, 10, imgH + 125, txtWidth);

// 绘制二维码

ctx.drawImage(this.data.localCodeUrl, _width - 80 + 80 - 150, imgH + 20, 100, 100);

// 显示绘制

ctx.draw();

//将生成好的图片保存到本地,需要延迟一会,绘制期间耗时

setTimeout(function () {

wx.canvasToTempFilePath({

canvasId: ‘mycanvas’,

success: function (res) {

var tempFilePath = res.tempFilePath;

that.setData({

loadImagePath: tempFilePath,

});

},

fail: function (res) {

console.log(res);

}

});

}, 500);

//关闭提示

wx.hideLoading();

},

//点击保存到相册

saveImg: function () {

//调用wxapi.js里集成的接口

app.globalData.wxapi.saveImgToLocal(this.data.loadImagePath);

},

// 关闭弹窗

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级安卓工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Android移动开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
微信小程序商品分享海报生成代码,Android程序员,微信小程序,小程序
微信小程序商品分享海报生成代码,Android程序员,微信小程序,小程序
微信小程序商品分享海报生成代码,Android程序员,微信小程序,小程序
微信小程序商品分享海报生成代码,Android程序员,微信小程序,小程序

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Android)
微信小程序商品分享海报生成代码,Android程序员,微信小程序,小程序

这里我就分享一份资料,希望可以帮助到大家提升进阶。

内容包含:Android学习PDF+架构视频+面试文档+源码笔记高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 这几块的内容。分享给大家,非常适合近期有面试和想在技术道路上继续精进的朋友。

如果你有需要的话,可以点击Android学习PDF+架构视频+面试文档+源码笔记获取免费领取方式

喜欢本文的话,不妨给我点个小赞、评论区留言或者转发支持一下呗~

…(img-9Hse5Xh0-1710700178073)]

这里我就分享一份资料,希望可以帮助到大家提升进阶。

内容包含:Android学习PDF+架构视频+面试文档+源码笔记高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 这几块的内容。分享给大家,非常适合近期有面试和想在技术道路上继续精进的朋友。

如果你有需要的话,可以点击Android学习PDF+架构视频+面试文档+源码笔记获取免费领取方式

喜欢本文的话,不妨给我点个小赞、评论区留言或者转发支持一下呗~

微信小程序商品分享海报生成代码,Android程序员,微信小程序,小程序文章来源地址https://www.toymoban.com/news/detail-849212.html

到了这里,关于微信小程序使用canvas画布生成二维码海报分享图片(完整示例代码)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 微信小程序使用weapp-qrcode.js生成二维码以及“扫普通链接二维码打开小程序”动态传递参数实现记录

    参考文章原文链接:微信小程序使用weapp-qrcode.js完成二维码的生成_fairy_404的博客-CSDN博客 首先给需要生成二维码的页面创建一个canvas 因为我这里实现的是弹窗展示二维码,所有就把 canvas移出页面,小伙伴们根据自己需求进行调整,weapp-qrcode.js内容参考链接中就有,我这里就

    2024年02月15日
    浏览(53)
  • 微信小程序怎样生成体验版二维码?微信小程序怎么转化为二维码?

    方法:在微信开发者工具界面,右上角,点击上传,如果提示成功,说明已经上传成功。     网址: 微信公众平台 微信公众平台,给个人、企业和组织提供业务服务与用户管理能力的全新服务平台。 https://mp.weixin.qq.com/ 在微信公众号平台登录,选择需要生成二维码的小程序

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

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

    2024年02月15日
    浏览(51)
  • 微信小程序使用weapp-qrcode.js生成二维码以及“扫普通链接二维码打开小程序”动态传递参数实现以及遇到问题记录

    参考文章原文链接:微信小程序使用weapp-qrcode.js完成二维码的生成_fairy_404的博客-CSDN博客 首先给需要生成二维码的页面创建一个canvas 因为我这里实现的是弹窗展示二维码,所有就把 canvas移出页面,小伙伴们根据自己需求进行调整,weapp-qrcode.js内容参考链接中就有,我这里就

    2024年02月01日
    浏览(57)
  • 微信小程序 — 生成二维码功能

    微信小程序实现生成二维码功能。需要用到canvas组件,设置 type为2d.  需要使用js包 weapp-qrcode-canvas-2d https://github.com/DoctorWei/weapp-qrcode-canvas-2d weapp-qrcode-canvas-2d 是使用新版canvas-2d接口在微信小程序中生成二维码(外部二维码)的js包。canvas 2d 接口支持同层渲染且性能更佳,可大

    2024年02月09日
    浏览(60)
  • 微信小程序之生成二维码

     var context = wx.createCanvasContext(\\\'mycanvas\\\'); // 获取画布 CanvasContext.fillText string text 在画布上输出的文本 number x 绘制文本的左上角 x 坐标位置 number y 绘制文本的左上角 y 坐标位置 number maxWidth 需要绘制的最大宽度,可选 CanvasContext.drawImage string imageResource 所要绘制的图片资源(网络

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

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

    2024年04月15日
    浏览(55)
  • 微信小程序生成二维码的 方式

    一:生成普通的二维码 https://open.weixin.qq.com/sns/getexpappinfo?appid=xxxpath=xxx?a=123 appid:小程序的appid path: 小程序的路径 a:小程序需要携带的参数,不传可以不写 二:在微信开发文档内生成 步骤1.登录微信公众平台 2.找到工具菜单 3.选择生成小程序码 具体里面的有生成规则,不懂得

    2024年02月12日
    浏览(54)
  • 【小程序】动态生成微信小程序二维码

    官方文档中给我们提供了三个接口,分别应用于不同的场景 wxacode.createQRCode - - 接口文档地址-点击跳转 该接口需慎用,因为文档描述,该接口可生成的二维码是有限制的。 总共生成的码数量限制为 100,000 wxacode.get - - 接口文档地址-点击跳转 该接口需慎用,因为文档描述,该

    2024年02月09日
    浏览(64)
  • 生成普通的微信小程序二维码

    1.登录微信小程序后台传送门 开发管理-开发设置-扫普通链接二维码打开小程序   在这里开通此功能,然后按微信定义的规则配置具体的地址,等正式上线的时候再发布该规则  2.然后按照配置的 二维码规则 (上图第三项) 去直接生成普通的二维码(可自行携带参数),然后微信扫一

    2024年02月14日
    浏览(61)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包