uniapp canvas文字和元素居中

文字居中:ctx.textAlign = "center";

元素居中:ctx.arc(screenWidth / 2, 122, 40, 0, 2 * Math.PI);

ctx.arc()的x轴为当前屏幕的宽度/2;

javascript 复制代码
let screenWidth = 540;
let screenHeight = 960;
// 头像
if (photoimg) {
    ctx.setFillStyle('#000000')
	ctx.save();
	ctx.beginPath() //开始创建一个路径
	ctx.arc(screenWidth / 2, 122, 40, 0, 2 * Math.PI) //画一个圆形裁剪区域
	ctx.strokeStyle = 'transparent';
	ctx.stroke();
	ctx.clip() //裁剪
	ctx.drawImage(photoimg, 230, 82, 80, 80);
	ctx.restore()	
}
				
// 昵称
if (that.userInfo) {
	let names = that.userInfo.nickname
	ctx.setFontSize(28);
	ctx.setFillStyle('#333333')
	ctx.font = 'normal blod 28px PingFangSC, PingFang SC';
	ctx.textAlign = "center"
	let titleW = ctx.measureText(names)
	ctx.fillText(names, screenWidth / 2, 196);
}
相关推荐
Hashan5 分钟前
Elpis:抽离业务代码,发布NPM包
前端·javascript·vue.js
quikai198110 分钟前
python练习第六组
java·前端·python
用户479492835691513 分钟前
0.1加0.2为什么不等于0.3-答不上来的都挂了
前端·javascript·面试
rit843249914 分钟前
C#实现的远程控制系统
前端·javascript·c#
南山安23 分钟前
React学习:Vite+React 基础架构分析
javascript·react.js·面试
诺斯贝克23 分钟前
Unable to create converter for xxx.NetworkResponse<Auth> for method AuthService
前端·后端
listhi52023 分钟前
针对燃油运输和车辆调度问题的蚁群算法MATLAB实现
前端·算法·matlab
渔_25 分钟前
uni-app 页面传参总丢值?3 种方法稳如狗!
前端
快被玩坏了25 分钟前
二次封装了个复杂的el-table表格
前端
用户938169125536027 分钟前
在TypeScript中,可选属性(?)与null类型的区别
前端