收藏
回答

Canvas 绘制线条长度大于一定值, 模拟器可以显示 ,真机不显示 ,不确定是限制,还是BUG?

  ctx.lineWidth =1
  ctx.strokeRect(0,0,8300000,8300000)//显示
//ctx.strokeRect(0,0,8400000,8400000)//不显示
  
    ctx.moveTo(00)
    ctx.lineTo(16700000,16700000)//显示
 // sctx.lineTo(16800000,16800000)//不显示
    ctx.stroke()
最后一次编辑于  2021-10-23
回答关注问题邀请回答
收藏

2 个回答

  • 社区技术运营专员--许涛
    社区技术运营专员--许涛
    2021-10-24

    你好, Canvas 2D需要显式设置画布宽高,默认:300*150,最大:1365*1365

    2021-10-24
    有用
    回复
  • 淡淡平生
    淡淡平生
    2021-10-27

        ctx.beginPath();//不执行这行代码,直线的问题可以暂时规避

        ctx.moveTo(x1, y1)

        ctx.lineTo(x2,y2)

        ctx.stroke()

    //---------------------------------------------------------------------------新问题 ,圆在某一缩放比例下会乱线,这个我实在是没法解决了,求指教

      canvas.width= canvas.width//清屏

    ctx.scale(n,n)//执行缩放 (n 某一倍数下会乱线,不固定)

    ctx.beginPath();

        ctx.arc(999999,0,999999, 0,Math.PI*2);//绘制圆 

        ctx.stroke();

    ctx.beginPath();

        ctx.arc(500,0,500, 0,Math.PI*2);//绘制圆 

        ctx.stroke();

    




    2021-10-27
    有用
    回复 1
登录 后发表内容