fix fillText

This commit is contained in:
ckcz123 2020-10-31 12:05:37 +08:00
parent 8348d1a2b3
commit eed2a7a835

View File

@ -96,12 +96,12 @@ ui.prototype.fillText = function (name, text, x, y, style, font, maxWidth) {
else if (textAlign == 'right') x -= textWidth; else if (textAlign == 'right') x -= textWidth;
ctx.textAlign = 'left'; ctx.textAlign = 'left';
text = text.replace(/\r(?!\[.*\])/g, "\r[" + currentStyle + "]"); text = text.replace(/\r(?!\[.*\])/g, "\r[" + currentStyle + "]");
var colorArray = text.match(/(?<=\r\[).*(?=\])/g); var colorArray = text.match(/\r\[.*?\]/g);
var textArray = text.split(/\r\[.*\]/); var textArray = text.split(/\r\[.*?\]/);
var width = 0; var width = 0;
for (var i = 0; i < textArray.length; i++) { for (var i = 0; i < textArray.length; i++) {
var subtext = textArray[i]; var subtext = textArray[i];
if (colorArray[i-1]) ctx.fillStyle = colorArray[i-1]; if (colorArray[i-1]) ctx.fillStyle = colorArray[i-1].slice(2, -1);
ctx.fillText(subtext, x + width, y); ctx.fillText(subtext, x + width, y);
width += core.calWidth(ctx, subtext, x, y); width += core.calWidth(ctx, subtext, x, y);
} }