javascript - 圆圈在 Canvas 中变形

标签 javascript canvas

试图画一个简单的圆。但它变得扭曲。颜色也变淡。为什么会这样?

<html>
<body>
<script>
function makeit(){
var canvas=document.createElement('canvas');
var atts=document.createAttribute('style');


atts.value="width:400px;height:400px;border:1px solid black;";
canvas.setAttributeNode(atts);

document.body.appendChild(canvas);

var ctx=canvas.getContext("2d");
ctx.beginPath();
ctx.strokeStyle="black";
ctx.arc(100,100,25,0,2*Math.PI);
ctx.stroke();
}
window.onload=makeit;
</script>
</body>
</html>

最佳答案

这是因为您在样式对象上设置了宽度和高度。 试试 canvas.width=canvas.height=

style.width style.height 定义 Canvas 在 html dom 中的外观。

canvas.width canvas.height 定义 Canvas 的宽度和高度...

例如,如果您将 Canvas 的宽度和高度定义为 400 和 400,并且您希望 Canvas 在样式对象上显示 800 像素的宽度和 800 像素的高度。由于将每个维度乘以 2 调整到更大,它会变形。

通常是一对一

关于javascript - 圆圈在 Canvas 中变形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23477980/

相关文章:

javascript - 获取 UTC 时间戳

javascript - javascript 中的数组排序 - 比较 IE8 和 Chrome 的不同结果

javascript - 有没有更好的方法来做这个ajax调用

javascript - 在 html5 中不缓存图像的最佳方法是什么?

javascript - 从外部来源覆盖 td 标签样式

用于截屏的 Firefox 插件 API

javascript - 是否有用于 javascript 的水物理引擎?

javascript - 使用 ruby​​ on rails 和 javascript 将 Canvas 转换为图像并在新窗口中打开

javascript - 无法通过的边界( Canvas 游戏)

HTML5 Canvas - 二维线框球体