मैं एक समाधान है, लेकिन यह आप Firefox में Javascript कंसोल (Firebug plugin स्थापित) जैसे Chrome या Safari से परिचित जा रहा है पर निर्भर है।
मामले में आप, यह गूगल रहे हैं, या सिर्फ सही पृष्ठ पर कहीं भी क्लिक करने के लिए प्रयास करते हैं, चुनें "तत्व का निरीक्षण" और "कंसोल" के लिए देखो ...
क्या कोड है:
यह आप CANVAS
तत्व हर 1/एक दूसरे की 10 वीं के 10 स्क्रीन पकड़ लेता है लेने के लिए अनुमति देता है। इन दोनों मानों को आसानी से संशोधित किया जाता है क्योंकि आप उन पुनरावृत्तियों की संख्या को ढूंढने के लिए ट्विक कर सकते हैं जिन्हें आप प्राप्त करना चाहते हैं। उदाहरण के लिए, कैनवास तत्व आईडी 'mycanvas' है।
एक बार जब यह स्क्रीन-grabs हो जाता है तो यह छवियों को पृष्ठ में आउटपुट करता है। उस समय आप व्यक्तिगत छवियों को बचा सकते हैं।
Javascript कंसोल में कोड निम्न कोड में
पेस्ट चल रहा है:
var canvas = document.getElementById("mycanvas");
var shots = [];
var grabLimit = 10; // Number of screenshots to take
var grabRate = 100; // Miliseconds. 500 = half a second
var count = 0;
function showResults() {
//console.log(shots);
for (var i=0; i<shots.length; i++) {
document.write('<img src="' + shots[i] + '"/>\n');
}
}
var grabber = setInterval(function(){
count++;
if (count>grabLimit) {
clearInterval(grabber);
showResults();
}
var img = canvas.toDataURL("image/png");
shots.push(img);
}, grabRate);
और प्रेस यह निष्पादित करने के लिए CTRL-दर्ज करें।
इसे चलाने में कुछ सेकंड लग सकते हैं इसलिए कृपया धैर्य रखें।
इसके बाद आपको छवि मैगिक के माध्यम से एनिमेटेड जीआईएफ बनाने के लिए सभी आवश्यक फ्रेम (किसी भी अधिक) होना चाहिए, यह वेबसाइट MakeAGif.com, या अन्य ऐप।
साइड नोट
किसी कारण से आप पीएनजी के बजाय जेपीजी की GIF के रूप में उत्पादन के लिए की जरूरत है तो बस अद्यतन करते हैं, के रूप में की जरूरत है, इस: इनमें से
var img = canvas.toDataURL("image/png");
से है:
var img = canvas.toDataURL("image/gif");
var img = canvas.toDataURL("image/jpg");
आउटपुट के लिए समर्थन gif या jpg सभी ब्राउज़रों में नहीं हो सकता है (सबसे अधिक होना चाहिए)।
(BIG) अद्यतन # 1
सबसे पहले, मैं इसे अद्यतन करने की तुलना में बरकरार ऊपर कोड रखने कर रहा हूँ बल्कि इसलिए कि दोनों दृष्टिकोण दूसरों के लिए उपयोगी हो सकता है।
दूसरा, यह नया कोड समस्या को हल नहीं करता है। यह एक तरह की कमी है लेकिन एक बड़ी कमी है। यह एक एनिमेटेड जीआईएफ (यिपे!) बनाता है लेकिन यह हरे रंग के विभिन्न रंगों में (बूओ!) बनाता है। सुनिश्चित नहीं है कि कैसे/क्यों, लेकिन शायद कोई इसे यहां से ले जा सकता है और देख सकता है कि मैंने क्या चूक लिया है।
तो यहाँ हम चले ... वही नियम लागू - कॉपी और यह एक ब्राउज़र की Javascript कंसोल (यह फ़ायरफ़ॉक्स लेकिन गूगल क्रोम में lags इसकी बहुत तेजी से ... 10 सेकंड या तो चलाने के लिए) में पेस्ट करें।
var jsf = ["/Demos/b64.js", "LZWEncoder.js", "NeuQuant.js", "GIFEncoder.js"];
var head = document.getElementsByTagName("head")[0];
for (var i=0;i<jsf.length;i++) {
var newJS = document.createElement('script');
newJS.type = 'text/javascript';
newJS.src = 'http://github.com/antimatter15/jsgif/raw/master/' + jsf[i];
head.appendChild(newJS);
}
// This post was very helpful!
// http://antimatter15.com/wp/2010/07/javascript-to-animated-gif/
var w = setTimeout(function() { // give external JS 1 second of time to load
console.log('Starting');
var canvas = document.getElementById("mycanvas");
var context = canvas.getContext('2d');
var shots = [];
var grabLimit = 10; // Number of screenshots to take
var grabRate = 100; // Miliseconds. 500 = half a second
var count = 0;
function showResults() {
console.log('Finishing');
encoder.finish();
var binary_gif = encoder.stream().getData();
var data_url = 'data:image/gif;base64,'+encode64(binary_gif);
document.write('<img src="' +data_url + '"/>\n');
}
var encoder = new GIFEncoder();
encoder.setRepeat(0); //0 -> loop forever, 1+ -> loop n times then stop
encoder.setDelay(500); //go to next frame every n milliseconds
encoder.start();
var grabber = setInterval(function(){
console.log('Grabbing '+count);
count++;
if (count>grabLimit) {
clearInterval(grabber);
showResults();
}
var imdata = context.getImageData(0,0,canvas.width,canvas.height);
encoder.addFrame(context);
}, grabRate);
}, 1000);
यह कुछ उपयोगी कोड, संकेत और JS फ़ाइलों को इस ब्लॉग पोस्ट JavaScript to (Animated) GIF में संदर्भित उपयोग करता है। मैं सीधे कुछ जेएस फाइलों का उपयोग करता हूं लेकिन यदि आप इसका उपयोग करने जा रहे हैं तो आपको इन स्थानीय रूप से कॉपी करना चाहिए।
मेरे लिए उत्पादन इस GIF था:
तो इसकी कुछ नहीं, बल्कि तुम क्या जरूरत है ...
उन अद्भुत हैं:
फिर ImageMagick
ये हम चले उपयोग करें! मुझे जवाब देने के सबसे नज़दीक यह था: http://stackoverflow.com/questions/923885/capture-html-canvas-as-gif-jpg-png-pdf समस्या यह है कि ऐसा लगता है कि कार्यान्वयन केवल स्थैतिक के लिए अनुमति देता है छवियों, एनिमेशन नहीं। शायद एक अलग छवि के रूप में प्रत्येक "फ्रेम" को प्रोग्रामिक रूप से कैप्चर करना संभव है और फिर उन्हें एक जीआईएफ के रूप में एक साथ सिलाई करना संभव है? – peterjmag
जो सिर्फ काम कर सकता है, शायद आपको अपनी टिप्पणी को उत्तर देना चाहिए ताकि अगर कोई और कोई विचार न आए तो मैं आपको अंक दे सकता हूं :) –
मेरी कोशिश करें: http://imgur.com/p9gcV।gif –