3

のスケーリング中にいくつかの課題に直面していますKonva.Image。中心点から画像を拡大縮小したい。中心から拡大縮小することはできますが、これが正しい方法であるかどうかはわかりません。現在、そのtop-leftコーナーからスケーリングされています。中心点から画像をスケーリングするにはoffset、を使用して中心に設定していimage.setOffset()ます。しかし、なぜそれが画像を動かしているのかわかりません。私はこれをやっています:

  //setting the offset to center
  //but don't know why it's moving the image.
  yoda.setOffset({
    x: yoda.width() / 2,
    y: yoda.height() / 2
  });
  // setting it's position back to original
  // position but don't know why I need to
  // adding the offset values
  yoda.position({
    x: 50 + yoda.width() / 2,
    y: 50 + yoda.height() / 2
  });

画像をスケーリングするには、これを行っています:

 yoda.scale({
          x: 0.5,
          y: 0.5
        });
        layer.draw();

同じことを達成する他の方法はありますか?これが再生するplunkrです。

4

1 に答える 1

1

Konvaこれは、ノードの予想される動作です。offset{x,y}プロパティを一緒に使用する必要があります。

の使用を避けることもできますoffsetが、その場合は{x,y}スケーリング中に変更する必要があります。

于 2016-09-06T05:02:39.233 に答える