html5 – 画布图,如线条,是模糊的

前端之家收集整理的这篇文章主要介绍了html5 – 画布图,如线条,是模糊的前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个< div style =“border:1px solid border;” />和画布,使用绘制:
context.lineWidth = 1;
context.strokeStyle = "gray";

绘图看起来很模糊(lineWidth小于1创建更糟糕的图片),没有什么靠近div的边框。使用canvas可以获得与HTML相同的绘图质量吗?

var ctx = document.getElementById("canvas").getContext("2d");
ctx.lineWidth = 1;
ctx.moveTo(2,2);
ctx.lineTo(98,98);
ctx.lineTo(2,2);
ctx.stroke();
div {
  border: 1px solid black;
  width: 100px;
  height: 100px;
}
canvas,div {background-color: #F5F5F5;}
canvas {border: 1px solid white;display: block;}
<table>
<tr><td>Line on canvas:</td><td>1px border:</td></tr>
<tr><td><canvas id="canvas" width="100" height="100"/></td><td><div>&nbsp;</div></td></tr>
</table>

解决方法

在画布中绘制线条时,实际上需要跨越像素。在我看来,这是API的一个奇怪的选择,但很容易工作:

而不是这样:

context.moveTo(10,0);
context.lineTo(10,30);

做这个:

context.moveTo(10.5,0);
context.lineTo(10.5,30);

dive into HTML5’s canvas chapter talks about this nicely(查找“ASK PROFESSOR MARKUP”框,大约下降1/4)

原文链接:https://www.f2er.com/html5/169505.html

猜你在找的HTML5相关文章