设置画布边框笔划的真实颜色
Setting true colors to a canvas border stroke?
我有一个设置矩形的简单代码。
我用黑色抚摸着它的边界。
然而,我在这里看不到任何黑色,只有灰色。
<!doctype html>
<html lang="en">
<canvas id="canvas" width=300 height=300></canvas>
<script>
function draw()
{
ctx.beginPath();
ctx.strokeStyle = "#000000";
ctx.strokeRect(rect.x, rect.y, rect.w, rect.h);
}
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
ctx.clearRect(0, 0, canvas.width, canvas.height);
var rect = {
x: 10,
y: 10,
w: 40,
h: 100
};
draw();
</script>
</html>
问题:
我做错了什么?我如何将颜色设置为我定义的颜色?
当您创建一条画布线时,它将使一条线穿过您声明的点,宽度为lineWidth
。如果线在2个像素之间(例如,当您创建一条穿过边界的线时,意味着您为x和y选择整数值),它将溶解颜色以平衡线所穿过的2个像素,在这种情况下,50%到左边的像素,50%到右边的像素,从而产生灰色。将.5
添加到x和y会使线条始终保持在1像素中
<!doctype html>
<html lang="en">
<canvas id="canvas" width=300 height=300></canvas>
<script>
function draw()
{
ctx.beginPath();
ctx.strokeStyle = "#000000";
ctx.strokeRect(rect.x, rect.y, rect.w, rect.h);
}
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
ctx.clearRect(0, 0, canvas.width, canvas.height);
var rect = {
x: 10.5,
y: 10.5,
w: 40,
h: 100
};
draw();
</script>
</html>
如果你运行这个片段,你会看到这些线是黑色的,宽度只有1个像素。我刚刚在你的x和y 中添加了.5
相关文章:
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 高亮显示时编辑文本大小和颜色
- 用与线条相同的颜色填充多折线图上的点
- 更改使用Chart.js创建的图表中的轴线颜色
- 如何使用jquery更改html中的背景颜色
- 动态更改高图中的系列颜色
- 如何使用jquery将base64图像路径转换为真实路径
- jsf中两个字符串的颜色代码差异
- 我们如何使用css或JavaScript在i/j上更改句点(点)的颜色
- d3.hexbin插件-动态定义颜色域以适应数据
- 我如何制作一个JS函数,它可以从相似的原始颜色双向更改为某个颜色
- 每个选择器的Jquery css颜色都在变化,但字体大小却没有变化
- Javascript对象类在单击时打开窗口进行颜色选择,并在更改时替换对象背景颜色
- jQuery动画-边框宽度和颜色
- JS幻灯片与CSS背景颜色变化
- 使用CSS/JavaScript更改剑道图工具提示文本颜色
- 使用Angular单击时更改特定图示符图标的颜色
- 如何使用D3生成特定范围内的随机颜色
- 比较javascript中的浮动并更改最高浮动的颜色
- 设置画布边框笔划的真实颜色