У меня есть код, который генерирует GIF-файл из SVG, используя PHP и ImageMagick.
Ниже приведен пример кода SVG.
Предполагая, что анимация будет создана путем изменения значения масштаба преобразования масштаба от 0 до 1, как получить матрицу преобразования, которая будет центрировать источник преобразования с использованием свойств элемента svg x, y, width, height?
Примечание. Все вычисления выполняются с помощью php, а преобразование в растр выполняется с помощью Imagemagick, который, как мне кажется, не поддерживает стиль происхождения CSS-преобразования.
В настоящее время переход начинается слева. Я хочу перевести это с помощью матрицы.
Ссылка ниже является примером GIF текущей реализации
https://i.imgur.com/juMX3uD.gifv
Преобразованный SVG
<svg xmlns="http://www.w3.org/2000/svg" class="layer" overflow="visible"
stroke="none" stroke-width="0" preserveAspectRatio="none"
id="layer_1547759965149_0506449632092969" width="135.24545454545"
height="110.9375" x="86.896363636365" y="84.286250000001"><g
id="translateLayer" transform="matrix(1 0 0 1 0 0)"><g id="effectLayer"
transform="rotate(44.596407613288 67.622727272727 55.46875)"
fill="#FF4400"><svg viewBox="0 0 657.01 569" width="100%" height="100%"
preserveAspectRatio="none" overflow="hidden"><g id="Layer_2" data-
name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><polygon points="0 569
328.49 0 657.01 569 0 569"/></g></g></svg></g></g></svg>
Преобразование происходит здесь
<g id="translateLayer" transform="matrix(1 0 0 1 0 0)"></g>