在微信小程序中怎么使用canvas+Painter插件制作二维码(微信小程序canvas画图)
导读:本篇内容介绍了“在微信小程序中怎么使用canvas+Painter插件制作二维码”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、实现原理使...
本篇内容介绍了“在微信小程序中怎么使用canvas+Painter插件制作二维码”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、实现原理
使用微信小程序的canvas组件进行绘制,但是在该组件用起来并不是很顺手,所以使用了第三方的框架:Painter
用你的方法,把这个框架下载下来,里面会有示范代码,我们只需要把其中的核心代码拿出来就行。
二、实现代码
前期准备
1、新建components文件夹,放置painter核心代码
2、新建palette文件夹,放置绘制实现代码
painter.js代码
exportdefaultclassLastMayday{
palette(viewList){
return(
viewList
);
}
}
3、新建绘制的具体属性信息文件夹posterViewjs,放置例如绘制的大小、位置等信息js。
二维码绘制属性信息js代码
constgetPosterView01=(qrcodeText)=>
{
constposter01={
"width":"256px",
"height":"256px",
"background":"#f8f8f8",
"views":[{
"type":"qrcode",
"content":qrcodeText,
"css":{
"color":"#000000",
"background":"#ffffff",
"width":"256px",
"height":"256px",
"top":"0px",
"left":"0px",
"rotate":"0",
"borderRadius":"0px"
}
}
]
}
returnposter01
}
module.exports={
getPosterView01:getPosterView01
}
实现
实现页面目录结构
wxml代码
viewclass="flex-jc-ac-col"style="margin-top:200rpx;
">
imageclass="qrcode-img"src="{
{
imgUrl?imgUrl:''}
}
"mode="widthFix">
/image>
buttontype="primary"style="margin-top:105rpx;
"bindtap="makeQRCodeTap">
生成二维码/button>
/view>
!--canvas隐藏-->
paintercustomStyle='position:absolute;
left:-9999rpx;
'customActionStyle="{
{
customActionStyle}
}
"
dancePalette="{
{
template}
}
"palette="{
{
paintPallette}
}
"bind:imgOK="onImgOK"bind:touchEnd="touchEnd"
action="{
{
action}
}
"use2D="{
{
true}
}
"widthPixels="720"/>
!--canvas隐藏-->
wxss代码
.qrcode-img{
background-color:#999999;
height:300rpx;
width:300rpx;
}
json代码
注意记得在使用的页面引用painter组件
{
"usingComponents":{
"painter":"/components/painter/painter"
}
,
"navigationBarTitleText":"绘制二维码"
}
JS代码
//pages/makeQRCode/makeQRCode.js
importposterfrom'../../palette/painter'
constposterView=require("../../posterViewjs/posterView")
Page({
/**
*页面的初始数据
*/
data:{
imgUrl:null,
QRCodeText:"2d44d6c26134f8a109df65897107089a2d44d6c26134f8a109df65897107089a",
paintPallette:'',
}
,
/**
*生命周期函数--监听页面加载
*/
onLoad(){
}
,
/**
*生命周期函数--监听页面显示
*/
onShow(){
}
,
/**生成海报点击监听*/
makeQRCodeTap(){
wx.showLoading({
title:'获取海报中',
mask:true
}
)
//绘制海报
this.makePoster(this.data.QRCodeText)
}
,
/**绘制完成后的回调函数*/
onImgOK(res){
wx.hideLoading()
//这个路径就可以作为保存图片时的资源路径
//console.log("海报临时路径",res.detail.path)
this.setData({
imgUrl:res.detail.path
}
)
}
,
/**生成海报*/
makePoster(qrcodeText){
wx.showLoading({
title:'生成海报中',
}
)
//这是绘制海报所用到JSON数据
constviewList=posterView.getPosterView01(qrcodeText)
this.setData({
paintPallette:newposter().palette(viewList)
}
)
}
,
/**
*用户点击右上角分享
*/
onShareAppMessage(){
}
}
)“在微信小程序中怎么使用canvas+Painter插件制作二维码”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 在微信小程序中怎么使用canvas+Painter插件制作二维码(微信小程序canvas画图)
本文地址: https://pptw.com/jishu/718.html
