2016-09-05 60 views
2

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

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

は、同じことを達成するための他の方法があります:私はこれをやっている画像を拡大縮小するには

//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 
    }); 

:私はこれをやっていますか?ここにはplunkrがあります。

答えて

1

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

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

+0

ありがとうlavrton ...私は最初にオフセットの概念を学ぶ必要があるようです。それを完全に説明するリンクはありますか? –

+0

私はまた、オフセットを中心に設定してから、 'scaleX()'と 'scaleY()'を使って問題を解決しようとしています。私は試してみました。私はそれを働かせることができません。 – Azevedo

関連する問題