如何在context.fillText中使文本不透明

时间:2015-12-22 18:34:23

标签: javascript html5 css3 canvas

context.font = '20pt Calibri';
context.fillStyle = 'rgba(225,225,225,0.5)';
var width = context.measureText(message2).width;
context.fillRect(xIndent, yIndent+100, width, 60);

context.fillStyle = 'rgba(255,85,0,1.0)';
context.fillText(message3, xIndent, yIndent+100);

我希望context.fillText没有透明度而context.fillRect有透明度

出于某种原因,我可以使透明或双重

结果是TEXT和背景颜色具有相同的透明度

1 个答案:

答案 0 :(得分:1)

您需要在写入第一个文本后重置所有内容。因为你可以在绘制或写入东西后设置fillStyle,它仍然会填充它。所以,如果你想要在彼此之后绘制或写入的东西,你需要重置所有东西,这样下一个fillStyle也不会改变它的fillStyle。在您获得第一个文本后,您需要使用context.beginPath()。以下是您的代码更正:

context.font = '20pt Calibri';
context.fillStyle = 'rgba(225,225,225,0.5)';
var width = context.measureText(message2).width;
context.fillRect(xIndent, yIndent+100, width, 60);

context.beginPath();
context.fillStyle = 'rgba(255,85,0,1.0)';
context.fillText(message3, xIndent, yIndent+100);

每次想要绘制或写下其他内容时最好使用context.beginPath() ....我希望这有帮助......

相关问题