Zasadniczo chcę przekształcić mój SVG w obraz PNG. Dlatego przekształcam SVG w obraz SVG i próbuję narysować to na płótnie, aby móc go pobrać jako PNG za pomocą metody toDataURL(). To działa dobrze w przeglądarce Chrome, ale w przeglądarce Firefox generuje bardzo nieoczywisty błąd: NS_ERROR_NOT_AVAILABLEProblemy z wywoływaniem drawImage() z svg na obiekt kontekstowy w Firefoksie
Po przeszukaniu i eksperymentowaniu spróbowałem innego źródła SVG i nagle wszystko działało dobrze. Jakieś pomysły, które mogą sprawić, że metoda zadziała dobrze dla pierwszego ciągu SVG, ale nie powiedzie się dla drugiego? Jak mogę zmienić mój SVG, aby działał?
Fiddle: http://jsfiddle.net/3AXwb/
var image = new Image();
image.src = 'data:image/svg+xml,' + escape(xml);
image.onload = function() {
var canvas = document.createElement('canvas');
canvas.width = image.width;
canvas.height = image.height;
var context = canvas.getContext('2d');
document.getElementById('container').appendChild(canvas);
context.drawImage(image, 0, 0);
}
Bez zbędnego zwłoki ...: D Dziękuję bardzo! Szukałem wiele godzin, a na końcu to głupia własność ... Uratowałeś mi trochę więcej cennego czasu, stary. Przepraszam, że nie mogę jeszcze upublicznić ... – xJREB
dzięki! to niewiarygodne: D – LorDex