2016-08-13 12 views
-1

一方向に拡大縮小する方法はありますか?通常、scale関数はキャンバスをx方向とy方向の両方で等しくスケーリングしますが、ポリラインや線のグループを取り、y方向ではなくx方向にスケールしたい場合はどうすればよいでしょうか?画像を一方向に拡大縮小する方法はありますか?

ここではベスト例、http://www.giffits.de/logoplacer/lpl.php?cv=1760&mandantid=0&il=55744_1,55744_2&itemCode=55744&itemname=Carina&t=1469093996653

+1

あなたが何を求めていますか? 'context.scale(scaleX、scaleY)'はXを独立してスケーリングし、Yはスケーリングしないようにします。 – markE

+0

@markE scaleYが定義されていない場合、私のブラウザによれば、それは '0'と等しくなります。 – Hydro

+1

@nicematt。もちろん(!)、私は、Y方向にスケーリングされていない図面を残すために 'scaleY = 1'を設定すると仮定します。質問者は何を求めているのですか...私はそれらを理解していません。 – markE

答えて

0

それは簡単にする必要がありますが、あなたはこれを行うことができます:

  • 値としてYスケールを保存します。
  • 変更時にyスケールを更新します。
  • は、yスケールをctx.scale(x, y)に返します。

yパラメータがctx.scale(x, y)に定義されていない場合、yスケールは0に設定されます。これはあなたができる最小限のことです。


var scaleY = 1; 

/* change the x scale only */ 
ctx.scale(1, scaleY); 

/* change both coordinates scale */ 
scaleY = 3; 
ctx.scale(2, scaleY); 
+0

はい私はすでに試しましたが、成功しませんでした。デモリンクのサンプルはありますか? –

+0

@DarshanShahはい、ここ:https://jsfiddle.net/ybkq81fz/。この場合、ご質問には少しのコードを表示する必要があります。 – Hydro

+0

いいえ、それはxとyの両方の方向を変更するような動作しません。私は共有しているリンクの例のように一方向だけを変更したい –

関連する問題