html2canvas का उपयोग करके मैं किसी ऑब्जेक्ट पर स्क्रीन शॉट कैसे सहेज सकता हूं? मैं क़ौम की खोज किया गया है, और देखो समारोह उत्पन्न करने के लिए है कि स्क्रीनशॉट इस प्रकार उत्पन्न होता है:html2canvas का उपयोग कर स्क्रीनशॉट कैसे अपलोड करें?
$(window).ready(function() {
('body').html2canvas();
});
क्या मैं कर की कोशिश की है
$(window).ready(function() {
canvasRecord = $('body').html2canvas();
dataURL = canvasRecord.toDataURL("image/png");
dataURL = dataURL.replace(/^data:image\/(png|jpg);base64,/, "");
upload(dataURL);
});
है और, मैं तो यह करने के लिए पारित मेरा upload()
फ़ंक्शन। मेरी समस्या यह है कि, मैं यह नहीं समझ सकता कि html2canvas()
लाइब्रेरी में स्क्रीनशॉट कहां बनाया जा रहा है या यह फ़ंक्शन इसे वापस देता है। मैंने एसओ से this उत्तर का उपयोग कर कैनवास ऑब्जेक्ट को परिवर्तित करने का प्रयास किया है (हालांकि मुझे यकीन नहीं है कि मुझे ऐसा करने की ज़रूरत है)।
मैं सिर्फ कैसे imgur लिए एक फ़ाइल अपलोड करने के लिए पर एक question पूछा, और वहाँ जवाब (विशेष रूप से bebraw के @) मेरी मदद को समझने के लिए मैं क्या करने की जरूरत।
upload()
समारोह Imgur उदाहरण API सहायता से है:
function upload(file) {
// file is from a <input> tag or from Drag'n Drop
// Is the file an image?
if (!file || !file.type.match(/image.*/)) return;
// It is!
// Let's build a FormData object
var fd = new FormData();
fd.append("image", file); // Append the file
fd.append("key", "mykey"); // Get your own key: http://api.imgur.com/
// Create the XHR (Cross-Domain XHR FTW!!!)
var xhr = new XMLHttpRequest();
xhr.open("POST", "http://api.imgur.com/2/upload.json"); // Boooom!
xhr.onload = function() {
// Big win!
// The URL of the image is:
JSON.parse(xhr.responseText).upload.links.imgur_page;
}
// Ok, I don't handle the errors. An exercice for the reader.
// And now, we send the formdata
xhr.send(fd);
}
क्या समारोह upload' है '? उत्तीर्ण 'dataURL' MIME-type के बिना एक सादा' base64' स्ट्रिंग है। क्या इसका इरादा है? –
@RobW मैंने अभी 'अपलोड()' फ़ंक्शन जोड़ा - मुझे समझ में नहीं आता कि 'dataURL' फ़ंक्शन क्या करता है (अभी तक); मैंने इसे जोड़ा क्योंकि इसका उपयोग 'कैनवास' को एक छवि में बदलने के लिए किया गया था (जहां तक मैं कह सकता था)। – djq
सही विधि 'var canvasRecord = new html2canvas (document.body) .canvas;' परिणाम [इस उत्तर] के साथ संयोजन करें (http://stackoverflow.com/a/5303242/938089?sending-images-from-canvas -elements-का उपयोग कर-ajax और php-फ़ाइलें)। –