Raphael довольно старый, у Дмитрия Барановского есть новая библиотека:
snapsvg.io/about
Но SVG в img, скорее всего, не анимирует ни одна библиотека, т.к. внутри img на SVG действуют только стили, прописанные внутри тега svg, и его не удастся затаргетить через img:hover.
Если не секрет, почему именно img? Если включить напрямую как svg, можно обойтись без целой отдельной библиотеки. Можно написать анимацию на ванильном CSS для path в иконке. Например, если
<svg class="icon">
:
.icon path {
stroke-dasharray: 123123;
stroke-dashoffset: 123123;
animation: draw forwards;
}
@keyframes draw {
to {
stroke-dashoffset: 0;
}
}
Вместо 123123 можно подобрать длину методом проб и ошибок, а можно измерить и задать через JS:
const path = Array.from(document.querySelectorAll(".icon path"));
let length = 0;
const ls = path.map(p => {
length = p.getTotalLength();
p.style.strokeDasharray = length;
p.style.strokeDashoffset = length;
return length;
});
Пример (где много лишнего:)) -
https://codepen.io/penumbra1/pen/jaQqBb