fabric.js 绘制矩形宽度过长时,边框会出现虚化,怎么处理?

代码如下:

<!DOCTYPE hyml>
<html>

<head>
  <title>
    Fabric.js | Ellipse strokeUniform Property
  </title>

  <!-- FabricJS CDN -->
  <script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/3.6.2/fabric.min.js">
  </script>
</head>

<body>
  <div style="text-align:center;width:600px;">
    <h1 style="color:green;">
      GeeksforGeeks
    </h1>
    <b>
      Fabric.js | Ellipse strokeUniform Property
    </b>
  </div>

  <div style="text-align:center;">
    <canvas id="canvas" width="600" height="600" style="border:1px solid #000000;">
    </canvas>
  </div>

  <script>
    // Initiate a Canvas instance 
    var canvas = new fabric.Canvas("canvas");
    var rect = new fabric.Rect({
      width: 10000,
      height: 10000,
      strokeUniform: true,
      stroke: "blue",
      strokeWidth: 2,
      fill: null,
    });
    canvas.add(rect);
  </script>
</body>

</html>

宽度超过一两千的时候,stoke的宽度就生效了好像,边框出现虚化模糊,为什么呀?我用canvas原生绘制的不会有这个问题!
代码可以直接copy到本地运行
效果如图所示,strokewidth只设置了两个像素,但是虚化成了很多倍;
image.png

阅读 2.9k
1 个回答
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题