gpt4 book ai didi

html5-canvas - HTML5 Canvas 笔触未消除锯齿

转载 作者:行者123 更新时间:2023-12-04 16:35:18 27 4
gpt4 key购买 nike

我只是想在 Canvas 上用厚的抗锯齿笔画制作一个圆圈。

圆圈按预期绘制,但笔划的边缘非常参差不齐。我一直在读 Chrome 强制抗锯齿,所以不知道该怎么做......

fiddle :http://jsfiddle.net/nipponese/hWsxw/

HTML

<div id="main">
<canvas id="myCanvas" width="400" height="400" style="border: 1px solid #000"></canvas>
<div id="counter" style="height: 100px; width: 100px; border: 1px solid #000">
</div>
</div>

JS + jQuery
<script>
function calc(myVal) {
var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");
var radius = 70;

ctx.beginPath();
ctx.arc(140, 140, 20, myVal * Math.PI, 0, true);
ctx.lineWidth = 14;
ctx.stroke();
};
$(document).ready(function() {
var count = 0;
var parsedCount;
function go(){
if (count <= 200) {
parsedCount = count*.01
$('#counter').html('<p>' + parsedCount + '</p>');
calc(parsedCount);
count++;
}
}
setInterval(go, 10)
});
</script>

最佳答案

我的同事刚刚指出我需要在每次绘制后使用 clearRect 来清除 Canvas 。笔画只是在彼此之上绘制。

function calc(myVal) {
var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");
var radius = 70;
ctx.clearRect(0, 0, canvas.width, canvas.height);

ctx.beginPath();
ctx.arc(140, 140, 20, myVal * Math.PI, 0, true);
ctx.lineWidth = 14;
ctx.stroke();
};

关于html5-canvas - HTML5 Canvas 笔触未消除锯齿,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12164780/

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