javascript - Canvas 中的矩形具有柔和的边缘

标签 javascript html css canvas

我有一个黄色的 Canvas ,我在其中画了一个红色的矩形。 但是,我注意到一个有趣的效果——位于边框上的矩形的两侧有非常明确的边缘,而黄色 Canvas 内部的矩形的两侧被“软化”或“模糊”。

这是我现在拥有的: interesting rectangle

我的 HTML:

<canvas id="myCanvas"> 
</canvas>

Javascript:

var canvas=document.getElementById("myCanvas");
var ctx=canvas.getContext("2d");
ctx.fillStyle="#FF0000";
ctx.fillRect(0,0,150,75);

CSS:

#myCanvas {
    background-color:#FFFF00;
    width:1000px;
    height:600px;
    border: none;
    margin-left:auto;
    margin-right:auto;
}

JSFIDDLE

为什么会这样?我怎样才能使矩形的所有四个边都非常精确和明确?谢谢。

最佳答案

你应该像这样设置 Canvas 大小:

<canvas id="myCanvas" width="1000" height="600"></canvas>

这是 demo

或来自javascript:

var canvas = document.getElementById("myCanvas");
canvas.width  = 1000;
canvas.height =  600;

通过 CSS 设置大小只会缩放 Canvas ,这不是您想要的!

关于javascript - Canvas 中的矩形具有柔和的边缘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22946934/

相关文章:

css - 使用框阴影插入时如何将边框底部设置为无?

html - 带有文本的颜色叠加图像样式效果

javascript - 尝试让 CSS 在我的项目中工作 - 尝试排除故障

javascript - 从 javascript 调用不同的 PHP 函数

javascript - 当所需值是另一种形式的 0 时,Firefox 会强制输入 0。例如 : 00. 00。有什么可以做的吗?

Javascript 和 JQUERY : opening and closing divs using click function

javascript - 迭代 {{#each id}} 时动态访问 getElementId

Javascript window.open 在 Chrome 控制台中工作,但不是一个片段

javascript - 如何匹配单词中的字母然后在 javascript 中为其着色?

css - Div的重叠