javascript – Canvas:arc(75,75,50,0,3.1415,true)绘制椭圆而不是圆

前端之家收集整理的这篇文章主要介绍了javascript – Canvas:arc(75,75,50,0,3.1415,true)绘制椭圆而不是圆前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
为什么这个代码在半径为50的位置(75,75)绘制椭圆而不是圆?
  1. <canvas id=c1 style="width:400;height:400">
  2. <script>
  3. ctx = c1.getContext('2d');
  4. ctx.fillStyle = '#7ef';
  5. ctx.fillRect(0,400,400);
  6. ctx.fillStyle = '#000';
  7. ctx.beginPath();
  8. ctx.arc(75,75,50,Math.PI*2,true)
  9. ctx.stroke();
  10. </script>

解决方法

如果您更改此行:
  1. <canvas id=c1 style="width:400;height:400">

至:

  1. <canvas id=c1 width=400 height=400></canvas>

它应该工作.不要使用CSS来设置Canvas大小,因为这只会影响元素而不影响位图本身.对于画布,您需要使用它的专用属性(宽度/高度)来设置位图大小,或者只是拉伸/缩放位图以匹配元素的大小.

如果未指定,则画布的默认大小为300×150像素.在这种情况下,这些像素被拉伸(作为图像)到400×400,这就是为什么你得到一个椭圆形.

猜你在找的JavaScript相关文章