我試圖將我的SVG重置爲原始變換矩陣屬性。我有一個縮放函數,它使用這個矩陣放大和縮小SVG。但是,我希望能夠將SVG重置爲它首次使用的變換矩陣。將SVG重置爲原始變換矩陣
我首先將轉換矩陣屬性加載到一個數組中,然後將其用於我的比例函數中。
如何存儲原始值,以便它們不會被我的縮放功能所觸及,因此我可以使用它們來重置SVG?
這裏是我的JSfiddle
這是我的腳本:
$(document).ready(function() {
var newMatrix;
var transMatrix = $("#svgGroup").attr("transform").replace(/[^0-9.,]+/, "");
transMatrix = transMatrix.split(",");
var origMatrix = [1,0,0,1, parseFloat(transMatrix[4]), parseFloat(transMatrix[5])];
$("#out").click(function() {
zoom(0.8)
});
$("#in").click(function() {
zoom(1.25);
});
$("#reset").click(function() {
alert(origMatrix)
$("#svgGroup").attr("transform", "matrix(" + origMatrix + ")");
});
function zoom(scale) {
for (var i=0; i<origMatrix.length; i++) {
origMatrix[i] *= scale;
}
newMatrix = "matrix(" + origMatrix.join(' ') + ")";
$("#svgGroup").attr("transform", newMatrix);
}
});
謝謝!這樣做的工作:) –