【问题标题】:Mirror a shape from HTML5 canvas using javascript使用 javascript 从 HTML5 画布镜像形状
【发布时间】:2021-11-13 08:42:01
【问题描述】:

我在 HTML 画布上制作了这个形状,所以基本上我想要做的是镜像该形状并将其移动到画布的不同部分。我试过folds.scale(-1,1); 但它不起作用。我已经查看了关于镜像形状的另一篇文章,但我的代码不知何故不起作用。

HTML Canvas: How to draw a flipped/mirrored image?

这是我的代码:

function folds(x, y ,z){
    draw.beginPath();
    draw.arc(x, y, z, 5.25, 2 * Math.PI);
    draw.closePath();
    draw.lineWidth = 7;
    draw.strokeStyle = "black";
    draw.stroke();
}

function folds2(){
    folds.scale(-1,1);
}

【问题讨论】:

    标签: javascript html node.js canvas html5-canvas


    【解决方案1】:

    最流行的解决方案是在您的 HTML 中创建另一个不可见的画布并将其水平尺寸向后转换:

    const flippedCanvas = document.getElementById("flipped-canvas");
    const flippedContext = canvas.getContext("2d");
    
    flippedContext.scale(-1, 1);
    

    然后,您可以在该画布上绘制图像(或形状)并使用 drawImage 将其复制到原始画布:

    flippedContext.beginPath();
    // ...
    flippedContext.stroke();
    draw.drawImage(flippedCanvas, 0, 0);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-01
      • 2012-04-22
      • 2012-08-14
      • 2017-09-11
      相关资源
      最近更新 更多