Matrix.scale(x, [y], [cx], [cy])

缩放矩阵。


参数
  • x 数值。水平方向缩放的比例。1表示不缩放。
  • y 数值。垂直方向缩放的比例。1表示不缩放。
  • cx 数值。表示缩放中心点的x位置。
  • cy 数值。表示缩放中心点的y位置。

cx, cy是默认是元素的中心点。


返回值

元素。返回父元素。


使用
<svg id="svg" width="100" height="100"></svg>
<input id="button" type="button"  value="点击缩放0.8~1.2倍">
var svg = Snap("#svg");
var c = svg.paper.rect(20, 20, 60, 60, 10).attr({
    fill: "#f00"    // 红色
});

document.getElementById("button").onclick = function() {
    var m = new Snap.Matrix();
    var scale = Math.round((0.8 + 0.4 * Math.random()) * 100) / 100;
    m.scale(scale, scale);
    // 缩放
    c.transform(m);
};