Canvas drawImage add padding
exports.userQrcode = (request, callback) => {
const {parameter} = request.body
const FEIFENG_COM = "https://www.feifeng.com.cn/" + parameter
const imageURL = "https://flywind-avatars.oss-cn-qingdao.aliyuncs.com/252399-16725842177460.jpg"
const options = {
type: 'image/jpeg', // 类型
quality: 1, // 质量 0~1
errorCorrectionLevel: 'Q', // 纠错级别
margin: 4,
scale: 16,
color: {dark: "#37474f"},
width: 1080
}
const canvas = createCanvas(1080, 1080)
const context = canvas.getContext('2d')
QRCode.toCanvas(canvas, FEIFENG_COM, options).then(url => {
loadImage(imageURL).then((image) => {
context.beginPath();
context.arc(540, 540, 64, 0, Math.PI * 2, true);
context.closePath();
context.clip();
context.drawImage(image, 476, 476, 128, 128)
return callback({status: config.status, data: canvas.toDataURL()})
})
}).catch(error => {
return callback(config.database_error)
})
}
current style
desired style