由于海报需求将用户头像在海报上呈圆形
实现过程如下
// 绘制圆形头像
//绘制的头像宽度
let avatarurl_width = 40
//绘制的头像高度
let avatarurl_heigth = 40
//绘制的头像在画布上的位置
let avatarurl_x = 10
//绘制的头像在画布上的位置
let avatarurl_y = 10
// 保存之前绘制
ctx.save()
ctx.beginPath()
// 圆心x:绘制头像的宽度/2+头像在画布上的位置-- 圆心y:绘制头像的高度/2+头像在画布上的位置 -- 半径:头像的宽度/2
ctx.arc(avatarurl_width / 2 + avatarurl_x , avatarurl_heigth / 2 + avatarurl_y , avatarurl_width / 2, 0, Math.PI * 2, false)
ctx.clip()
ctx.drawImage(this.data.avatarUrl, avatarurl_x , avatarurl_y , avatarurl_width , avatarurl_heigth)
// 恢复之前保存的绘图上下文
ctx.restore()
// 绘制
ctx.draw()
希望能帮助到各位!