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和背景颜色具有相同的透明度
答案 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()
....我希望这有帮助......