代码之家  ›  专栏  ›  技术社区  ›  user3709279

当我抓取Kineticjs时旋转

  •  0
  • user3709279  · 技术社区  · 10 年前

    我已经把我的呕吐物弄乱了,现在我需要在我尖叫时旋转它?有人能帮忙吗?谢谢:)

        fillPatternImage:imageObj,
                        x:-pieceWidth*i/2,
                        y:-pieceHeight*j/2,
                        stroke: "#000000",
                        strokeWidth: 4,
                        lineCap: "round",
                        draggable: true,
                    x: i+pieceWidth/4 + (Math.random()*4)*((stage.getWidth()+pieceWidth)/12),
                    y: j+pieceHeight/4 + (Math.random()*2)*((stage.getHeight()+pieceHeight)/12),
                });
    

    Js投标: http://jsfiddle.net/vFez6/25/

    1 回复  |  直到 10 年前
        1
  •  0
  •   markE    10 年前

    旋转画布图形的常规方法是:

    • 保存上下文状态: context.save()
    • 平移到所需的对象中心: context.translate(centerX,centerY)
    • 按所需弧度角度旋转: context.rotate(Math.PI/4)
    • 绘制偏移1/2宽度的对象&height:'context.fillRect(-width/2,-height/2,50,30)'
    • 将上下文状态还原为其未旋转状态:“context.restore()”

    enter image description here

    示例代码和演示: http://jsfiddle.net/m1erickson/7aqwjddt/

    rotateRectangle(150,150,75,50,45*Math.PI/180);
    
    function rotateRectangle(centerX,centerY,width,height,radianAngle){
        ctx.save();
        ctx.translate(centerX,centerY);
        ctx.rotate(radianAngle);
        ctx.fillRect(-width/2,-height/2,width,height);
        ctx.restore();
    }