में उत्पन्न एसएनजी के रूप में सहेजने में समस्या Raphael JS (और उपयोगकर्ता, क्योंकि आप छवियों को खींच और घुमा सकते हैं) द्वारा उत्पन्न एक एसवीजी को परिवर्तित करने की कोशिश कर रहे हैं। मैंने इस Convert SVG to image (JPEG, PNG, etc.) in the browser का पालन किया लेकिन अभी भी इसे प्राप्त नहीं किया जा सकता है।रैफेल जेएस द्वारा कैनवास
यह आसान होना चाहिए लेकिन मैं अपनी उंगली को जो भी गलत करता हूं उस पर नहीं डाल सकता।
मुझे #ec
के साथ id
के साथ एक div में मेरा svg मिला और कैनवास का #canvas
है।
function saveDaPicture(){
var img = document.getElementById('canvas').toDataURL("image/png");
$('body').append('<img src="'+img+'"/>');
}
$('#save').click(function(){
var svg = $('#ec').html();
alert(svg);
canvg('canvas', svg, {renderCallback: saveDaPicture(), ignoreMouse: true, ignoreAnimation: true});
});
चेतावनी मुझे देता है:
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="600" height="512">
<desc>Created with Raphael</desc>
<defs></defs>
<image x="0" y="0" width="300" height="512" preserveAspectRatio="none" href="imageurl.jpg"></image>
<rect x="168" y="275" width="52" height="70" r="0" rx="0" ry="0" fill="none" stroke="#000" stroke-dasharray="8,3" transform="rotate(21.91207728 194 310)" style="opacity: 1; display: none; " opacity="1"></rect>
<circle cx="50" cy="50" r="50" fill="none" stroke="#000"></circle>
<image x="358" y="10" width="39" height="138" preserveAspectRatio="none" href="imageurl2.png" style="cursor: move; "></image>
<image x="397" y="10" width="99" height="153" preserveAspectRatio="none" href="imageurl3.png" style="cursor: move; "></image>
<image x="184" y="286" width="10" height="10" preserveAspectRatio="none" href="imageurl4.png" style="cursor: pointer; opacity: 1; display: none; " opacity="1"></image>
<image x="204" y="286" width="10" height="10" preserveAspectRatio="none" href="imageurl5.png" style="cursor: pointer; opacity: 1; display: none; " opacity="1"></image>
<image x="170" y="277" width="48" height="66" preserveAspectRatio="none" href="imageurl6.png" style="cursor: move; opacity: 1; " r="50" opacity="1" transform="rotate(21.91207728 194 310)"></image>
</svg>
जो svg की एक्सएमएल है और यदि मेरा मानना है कि canvg documentation, यह अच्छा है।
वैसे भी, इस कोड के साथ, परिवर्तनीय img
, जिसमें परिवर्तित छवि डेटा होना चाहिए, को svg के आयामों के साथ एक खाली पीएनजी का डेटा मिला।
केवल एक चीज मुझे लगता है कि राफेल जे एस द्वारा उत्पन्न svg अच्छी तरह से canvg के लिए स्वरूपित नहीं है (जैसे, image
की href
xlink:href
होना चाहिए अगर मैं the W3C recommandations का पालन करें)
किसी को भी इस समस्या पर एक विचार है? : डी
क्या कैनव कैनवास छवि को सही ढंग से प्रस्तुत करता है? क्या आप एक लाइव उदाहरण से लिंक कर सकते हैं जिसके साथ मैं खेल सकता हूं? – jbeard4
@Shikiryu क्या आपको कोई समाधान मिला? मेरे पास समान [प्रश्न] है (http://stackoverflow.com/questions/16556447/merge-images-from-raphael-svg) – vibskov