Próbuję ukryć svg wygenerowany za pomocą Raphael.js w obrazie PNG. Cóż, przekonwertowałem svg na obraz, gdy svg nie ma komponentu wzorca i obrazu. Z drugiej strony, kiedy dodaję te dwa komponenty do SVG, coś pójdzie nie tak i konwersja nie powiedzie się. Pełne skrzypce tohere. Nawet jeśli zapiszę wygenerowany plik SVG i otworzę w przeglądarce bez konwersji na obraz, obraz i tupot nie będą renderowane.SVG z konwersją elementów i obrazów do PNG Obraz nie powiodło się
Fragment kodu jest:
var r = Raphael(document.getElementById("cus"), 390, 253);
r.setViewBox(-5, -2, 228, 306);
for (var outline in doorMatOutline) {
var path = r.path(doorMatOutline[outline].path);
//path.attr({fill: 'url('+patternuri+')'}); //adding pattern
}
//adding image
var img = r.image(imageuri, 5 ,10 ,100 ,100);
var svg = $('#cus').html().replace(/>\s+/g, ">").replace(/\s+</g, "<");
canvg('cvs', svg, {
ignoreMouse: true,
ignoreAnimation: true
});
var canvas = document.getElementById('cvs');
var img = canvas.toDataURL("image/png");
$("#resImg").attr('src', img);
$("#cus").hide();
zdjęciu wygląd płytek w png. – kinkajou
Działa w firefox i chrome. W IE występują błędy dotyczące skryptu canvg. Przyjrzę się, ale nie jestem pewien, czy będzie łatwa łatka. – Ben
Zaktualizowana odpowiedź do pracy w IE, mam nadzieję, że zadziała, jak wiesz. – Ben