canvas文字换行,多图片加载,显示错乱、或被覆盖的问题

var wordList=words.split('')//把文字变成集合
let wordX=0;//文字的起始位置X                   
let wordY=0;//文字的起始位置Y
//基础标点符号集合
var fhArr=[",", ",", "。", "。", "!", ";", ":", "“", "”", "?", "【", "】", "、"]
let wordI=0;//自增判断每一行的位置
for(var i=0;i<wordList.length;i++){
    ctx.fillText(wordList[i], wordX, wordY);//显示文字
    wordX+=40//文字间隔、下一个文字的X位置
    
    wordI++;//自增,当前行的文字显示到第几个
    ///当X的位置超出显示的位置或者(文字的位置+1到新的一行并且是标点符号时),当前文字换行展示,"12"一行显示12个文字
    if(wordX>750||((wordI+1)%12==0&&fhArr.includes(wordList[i+1]))){
       wordX=0;
       wordY+=42;//行间隔
       wordI=0;//初始化,重新计算
    }
}

ps:canvas中图片加载的问题,建议嵌套加载,当一个图片加载完成时,在加载下一个(尤其是图片上有文字,或者多个图片叠加显示的时候),要不然会出现加载的时间差导致图层错乱

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值