gpt4 book ai didi

html - 为什么 HTML 5 Canvas 中的矩形不是黑色?

转载 作者:搜寻专家 更新时间:2023-10-31 22:33:14 26 4
gpt4 key购买 nike

下面是一个带有 canvas 标签的简单 HTML 5 页面。在 Canvas 上绘制了一个黑色的矩形,并显示了黑色文本。但由于某种原因,矩形实际上是灰色的。为了使它变黑,我必须在其自身之上绘制 2 或 3 次。这似乎表明存在某种 alpha 问题,但我不知道为什么会这样。

此外,线宽看起来比 1px 宽多了很多.... ?

谁能告诉我我做错了什么?

function draw()
{
var canvas = document.getElementById('tutorial');
if (canvas.getContext)
{
var ctx = canvas.getContext('2d');
//ctx.globalAlpha = 1;
//ctx.globalCompositeOperation = "source-over";

ctx.lineWidth = "1";
ctx.strokeStyle = "#000000";
ctx.strokeRect(100, 100, 50, 50); //appears grey

ctx.font = "22px Arial";
ctx.fillStyle = "#000000";
ctx.fillText("test", 120, 120); //appears black as expected
}
}

最佳答案

您的线看起来又粗又灰,因为它在绘制时与像素重叠 - 即您的线横跨两个像素。如果您将代码更改为:

ctx.strokeRect(100.5, 100.5, 50, 50);

您会看到一条黑色实线。

enter image description here

有关详细信息,请参阅此页面:http://diveintohtml5.info/canvas.html#paths

关于html - 为什么 HTML 5 Canvas 中的矩形不是黑色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10629996/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com