


Teach you step by step how to use canvas+Painter plug-in to create QR code in WeChat mini program
Nov 04, 2021 am 10:47 AMThis article will introduce to you how to use the canvas Painter plug-in to create QR codes in the WeChat applet. I hope it will be helpful to you!
#In daily small program projects, we often encounter the need to dynamically draw QR codes. There are many usage scenarios, such as drawing on posters, making ticket codes, verification codes, etc.
This article was written in response to the needs of a friend, and I hope it can give some help to students in need.
1. Implementation Principle
Use the canvas component of the WeChat applet to draw, but this component is not very easy to use, so a third-party framework is used :Painter
Painter’s Github address: https://github.com/Kujiale-Mobile/Painter
Use your method to download this framework. There will be demonstration code in it. We Just take out the core code.
For an introduction to the use of the framework, you can go to github to browse. I will get started directly. [Related learning recommendations: 小program development tutorial]
2. Implementation code
Preliminary preparation
1. Create a new components folder and place the painter core code
painter.js code
export?default?class?LastMayday?{ ??palette(viewList)?{ ????return?( ??????viewList ????); ??} }3. Create a new drawing specific attribute information folder posterViewjs, and place information js such as the size and position of the drawing.
const?getPosterView01?=?(qrcodeText)?=>?{ ??const?poster01?=?{ ????"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" ??????} ????}] ??} ??return?poster01 } module.exports?=?{ ??getPosterView01:?getPosterView01 }
Implementation
Implement the page directory structure
<view>
??<image></image>
??<button>生成二維碼</button>
</view>
<!-- canvas隱藏 -->
<painter></painter>
<!-- canvas隱藏 -->
.qrcode-img{
??background-color:?#999999;
??height:?300rpx;
??width:?300rpx;
}
Please remember to reference the painter component on the page you are using
{ ??"usingComponents":?{ ????"painter":"/components/painter/painter" ??}, ??"navigationBarTitleText":?"繪制二維碼" }JS code
//?pages/makeQRCode/makeQRCode.js
import?poster?from?'../../palette/painter'
const?posterView?=?require("../../posterViewjs/posterView")
Page({
??/**
???*?頁面的初始數(shù)據(jù)
???*/
??data:?{
????imgUrl:?null,
????QRCodeText:?"2d44d6c26134f8a109df65897107089a2d44d6c26134f8a109df65897107089a",
????paintPallette:?'',
??},
??/**
???*?生命周期函數(shù)--監(jiān)聽頁面加載
???*/
??onLoad()?{
??},
??/**
???*?生命周期函數(shù)--監(jiān)聽頁面顯示
???*/
??onShow?()?{
??},
??/**?生成海報點擊監(jiān)聽?*/
??makeQRCodeTap()?{
????wx.showLoading({
??????title:?'獲取海報中',
??????mask:?true
????})
????//?繪制海報
????this.makePoster(this.data.QRCodeText)
??},
??/**?繪制完成后的回調(diào)函數(shù)*/
??onImgOK(res)?{
????wx.hideLoading()
????//?這個路徑就可以作為保存圖片時的資源路徑
????//?console.log("海報臨時路徑",?res.detail.path)
????this.setData({
??????imgUrl:?res.detail.path
????})
??},
??/**?生成海報?*/
??makePoster(qrcodeText)?{
????wx.showLoading({
??????title:?'生成海報中',
????})
????//?這是繪制海報所用到JSON數(shù)據(jù)
????const?viewList?=?posterView.getPosterView01(qrcodeText)
????this.setData({
??????paintPallette:?new?poster().palette(viewList)
????})
??},
??/**
???*?用戶點擊右上角分享
???*/
??onShareAppMessage()?{}
})
I will not write other logic in actual development. Students need to consider issues such as handling abnormal situations themselves.
The above are some of my experience summaries and insights during the development process. If there is anything incorrect, I hope the experts will correct it in the comment area.
This article is reproduced from: https://blog.csdn.net/weixin_44702572/article/details/120443998Introduction to ProgrammingAuthor: super--Yang
For more programming-related knowledge, please visit:
The above is the detailed content of Teach you step by step how to use canvas+Painter plug-in to create QR code in WeChat mini program. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Troubleshooting and solutions to the company's security software that causes some applications to not function properly. Many companies will deploy security software in order to ensure internal network security. ...

H5 is more flexible and customizable, but requires skilled technology; mini programs are quick to get started and easy to maintain, but are limited by the WeChat framework.

H5. The main difference between mini programs and APP is: technical architecture: H5 is based on web technology, and mini programs and APP are independent applications. Experience and functions: H5 is light and easy to use, with limited functions; mini programs are lightweight and have good interactiveness; APPs are powerful and have smooth experience. Compatibility: H5 is cross-platform compatible, applets and APPs are restricted by the platform. Development cost: H5 has low development cost, medium mini programs, and highest APP. Applicable scenarios: H5 is suitable for information display, applets are suitable for lightweight applications, and APPs are suitable for complex functions.

H5 development tools recommendations: VSCode, WebStorm, Atom, Brackets, Sublime Text; Mini Program Development Tools: WeChat Developer Tools, Alipay Mini Program Developer Tools, Baidu Smart Mini Program IDE, Toutiao Mini Program Developer Tools, Taro.

The choice of H5 and applet depends on the requirements. For applications with cross-platform, rapid development and high scalability, choose H5; for applications with native experience, rich functions and platform dependencies, choose applets.

There are differences in the promotion methods of H5 and mini programs: platform dependence: H5 depends on the browser, and mini programs rely on specific platforms (such as WeChat). User experience: The H5 experience is poor, and the mini program provides a smooth experience similar to native applications. Communication method: H5 is spread through links, and mini programs are shared or searched through the platform. H5 promotion methods: social sharing, email marketing, QR code, SEO, paid advertising. Mini program promotion methods: platform promotion, social sharing, offline promotion, ASO, cooperation with other platforms.

The best cryptocurrency trading and analysis platforms include: 1. OKX: the world's number one in trading volume, supports multiple transactions, provides AI market analysis and on-chain data monitoring. 2. Binance: The world's largest exchange, providing in-depth market conditions and new currency first-time offerings. 3. Sesame Open Door: Known for spot trading and OTC channels, it provides automated trading strategies. 4. CoinMarketCap: an authoritative market data platform, covering 20,000 currencies. 5. CoinGecko: Known for community sentiment analysis, it provides DeFi and NFT trend monitoring. 6. Non-small account: a domestic market platform, providing analysis of linkage between A-shares and currency markets. 7. On-chain Finance: Focus on blockchain news and update in-depth reports every day. 8. Golden Finance: 24 small

The login portal for the Douyin web version is https://www.douyin.com/. The login steps include: 1. Open the browser; 2. Enter the URL https://www.douyin.com/; 3. Click the "Login" button and select the login method; 4. Enter the account password; 5. Complete login. The web version provides functions such as browsing, searching, interaction, uploading videos and personal homepage management, and has advantages such as large-screen experience, multi-tasking, convenient account management and data statistics.
