2016-08-13 57 views
-1

有沒有辦法在一個方向上進行縮放。通常scale函數在x方向和y方向上均勻縮放畫布,但是如果我想要拍攝折線圖或一組線條,並且在x方向而不是y方向上縮放它們,我該怎麼做? ?有沒有辦法在一個方向上縮放圖像?

這裏最好的例子,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。當然(!),我假設你會設置'scaleY = 1'來使繪圖在Y方向上不縮放。那麼提問者問什麼?我不明白他們。 – markE

回答

0

它應該是比較容易的,但你可以這樣做:

  • 保存Y比例爲值;
  • 更新時更新y尺度;
  • 返回ctx.scale(x, y)的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方向。我想只改變一個方向,如我共享的示例鏈接 –

相關問題