मैं पिक्सेल हेरफेर के लिए कैनवास में एक svg छवि को लोड करने मैं svgएसवीजी के लिए कैनवास की toDataURL विधि के बराबर है?
क्रोम/सफारी पर के लिए toDataURL
या getImageData
की तरह एक विधि की जरूरत है मैं इसे माध्यम से करने का प्रयास कर सकते हैं और छवि और कैनवास
var img = new Image()
img.onload = function(){
ctx.drawImage(img,0,0) //this correctly draws the svg image to the canvas! however...
var dataURL = canvas.toDataURL(); //SECURITY_ERR: DOM Exception 18
var data = ctx.getImageData(0,0,img.width, img.height).data //also SECURITY_ERR: DOM Exception 18
}
img.src = "image.svg" //that is an svg file. (same domain as html file :))
कोशिश कर रहा हूँ
लेकिन मुझे सुरक्षा त्रुटियां मिलती हैं I कोई अन्य तरीका?
यहाँ समस्या http://clstff.appspot.com/gist/462846 के एक लाइव डेमो है (यदि आप स्रोत देख सकते हैं)
एसवीजी छवि एक अलग डोमेन से आ रही है शामिल हैं? यदि ऐसा है, तो आप 'toDataURL' या' getImageData' को कॉल नहीं कर सकते हैं क्योंकि कैनवास अब "मूल-साफ़" नहीं है। –
यह * समान * डोमेन से आ रहा है। मैंने 'img.src =" डेटा करने की भी कोशिश की: छवि/svg + xml; base64, ... "' लेकिन यह भी काम नहीं किया –
यह वेबकिट में एक बग प्रतीत होता है: https: //bugs.webkit। संगठन/show_bug.cgi? id = 39059 – stefanw