2016-08-13 52 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方向。我想只改变一个方向,如我共享的示例链接 –

相关问题