有没有办法在一个方向上缩放图像?
有没有办法在一个方向上进行缩放。通常scale
函数在x方向和y方向上均匀缩放画布,但是如果我想要拍摄折线图或一组线条,并且在x方向而不是y方向上缩放它们,我该怎么做? ?有没有办法在一个方向上缩放图像?
它应该是比较容易的,但你可以这样做:
- 保存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);
是的,我已经尝试过,但没有成功。你有任何示例演示链接? –
@DarshanShah是的,在这里:https://jsfiddle.net/ybkq81fz/。在这种情况下,你应该在你的问题中显示一些代码。 – Hydro
不,它不会像那样改变x和y方向。我想只改变一个方向,如我共享的示例链接 –
什么你问? 'context.scale(scaleX,scaleY)'可以让你独立的扩展X并且保持Y不缩放。 – markE
@markE根据我的浏览器,如果未定义scaleY,它将等于'0'。 – Hydro
@nicematt。当然(!),我假设你会设置'scaleY = 1'来使绘图在Y方向上不缩放。那么提问者问什么?我不明白他们。 – markE