में एकाधिक कैनवास को dataURL में कनवर्ट करें मैं एक छवि बनाने के लिए एकाधिक कैनवास में शामिल होना चाहता हूं। तो क्या एक छवि बनाने के लिए toDataURL
पर एक से अधिक कैनवस को गुप्त करने के लिए कोई तरीका है?html5
html5
उत्तर
इस उदाहरण को आजमाएं उम्मीद है कि यह here
//html block
<canvas id="myCanvas" width="200" height="100" style="border:1px solid #c3c3c3;">
</canvas>
<canvas id="myCanvas1" width="200" height="100" style="border:1px solid #c3c3c3;">
Your browser does not support the canvas element.
</canvas>
<canvas id="Canvasimage" width="500" height="100" style="border:1px solid #c3c3c3;">
Your browser does not support the canvas element.
</canvas>
<img id="finalimage" width="500" height="100" style="border:1px solid #c3c3c3;"/>
//script block
function loadImages(sources, callback) {
var images = {};
var loadedImages = 0;
var numImages = 0;
// get num of sources
for (var src in sources) {
numImages++;
}
for (var src in sources) {
images[src] = new Image();
images[src].onload = function() {
if (++loadedImages >= numImages) {
callback(images);
}
};
images[src].src = sources[src];
}
}
window.onload = function (images) {
//Canvas first here
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
ctx.fillStyle = "#FF0000";
ctx.fillRect(0, 0, 200, 100);
//Canvas second here
var c1 = document.getElementById("myCanvas1");
var ctx1 = c1.getContext("2d");
ctx1.fillStyle = "#00FF00";
ctx1.fillRect(0, 0, 200, 100);
//Canvas final here.
var canvas = document.getElementById("Canvasimage");
var context = canvas.getContext("2d");
var sources = {
darthVader: c.toDataURL("image/png"),
yoda: c1.toDataURL("image/png")
};
loadImages(sources, function (images) {
context.drawImage(images.darthVader, 100, 30, 200, 137);
context.drawImage(images.yoda, 350, 55, 93, 104);
//finalimage here which has two canvas data
var finalimage = document.getElementById("finalimage");
finalimage.src = canvas.toDataURL("image/png");
});
};
संख्या। एक कैनवास और एकाधिक छवियां हैं। मुझे कई कैनवास की आवश्यकता है –
@ राणा मुहम्मद उस्मान ने उत्तर plz देखें अद्यतन किया। – Tamkeen
हां, drawImage
कैनवास 2 डी प्रतिपादन संदर्भ पर विधि छवि तत्वों के रूप में कैनवास तत्व स्वीकार करती है। तो तुम सब करने की है:
- एक नया कैनवास
- बनाएं उसके संदर्भ जाओ
drawImage
- साथ यह करने के लिए अन्य सभी कैनवस ड्रा इस नए कैनवास से अंतिम छवि निकालें
एक ऐसा फ़ंक्शन बनाएं जो एकाधिक तर्क (कैनवास तत्व) लेता है, उन्हें एक खाली कैनवास पर रखता है, फिर नव निर्मित कैनवास के लिए डेटारल देता है।
var getImadeData = function() {
var i = arguments.length,
tempCanvas = document.createElement("canvas"),
ctx = tempCanvas.getContext("2d");
while (i--) {
ctx.drawImage(arguments[i], 0, 0);
};
return tempCanvas.toDataURL();
};
अब फ़ंक्शन एकाधिक कैनवास तत्वों को खिलाएं जिन्हें आप एक डेटोरल में रखना चाहते हैं।
var newData = getImageData(canvas1, canvas2, canvas3);
इस उदाहरण में, पिछले कैनवास खाली कैनवास पर रखा गया है पहले तो उचित रूप से अपने कैनवस तत्वों को ऑर्डर करने के लिए सुनिश्चित करें।
कृपया कोड के साथ कुछ स्पष्टीकरण प्रदान करें। इस तरह भविष्य के आगंतुकों को पता चलेगा कि वे क्या देख रहे हैं और आपको अपने योगदान –
के लिए और अधिक उत्थान प्राप्त हो सकते हैं मैंने कुछ स्पष्टीकरण जोड़ा, लेकिन यह ईमानदारी से थोड़ा अनावश्यक लगता है। क्या विशेष रूप से कुछ ऐसा था जो आपको अधिक विस्तार की आवश्यकता महसूस हुई? – r11
- 1. html5
- 2. html5?
- 3. html5
- 4. html5
- 5. html5
- 6. HTML5 वीडियो
- 7. CSS3/HTML5
- 8. jQuery और HTML5 तत्व
- 9. html5 खोज इनपुट बूटस्ट्रैप
- 10. एमवीसी 3 और HTML5
- 11. HTML5 कैनवास पाइ चार्ट
- 12. django == 1.4 html5
- 13. HTML5 वीडियो timeupdate
- 14. क्यों IE9 HTML5 वीडियो
- 15. httpd.conf और HTML5 pushstate()
- 16. एंड्रॉयड HTML5 वीडियो
- 17. HTML5 ऑडियो घटना 'timeupdate'
- 18. html5 कब्जा स्क्रीन
- 19. HTML5 ऑडियो iPad/iPhone
- 20. HTML5 localStorage और एसक्यूएल
- 21. मैं कैसे html5
- 22. मल्टी-भाषा HTML5 एप्लिकेशन
- 23. Prezi HTML5 संपादक impress.js
- 24. MEDIA_ERR_SRC_NOT_SUPPORTED html5 ऑडियो दुःख
- 25. एक HTML5 कैनवास
- 26. "googlemaps" html5 कैनवास
- 27. html5 मैसेजिंग कई उदाहरण
- 28. आयात/निर्यात HTML5 localStorage डेटा
- 29. उपयोगकर्ता को HTML5 कैनवास गेम
- 30. HTML5 localStorage (XML/JSON डेटा)
आप सभी कैनवास के चित्रों को एक बड़े अस्थायी कैनवास में कॉपी कर सकते हैं और फिर बाद में 'toDataURL()' को कॉल कर सकते हैं। – Ammar
thnx @Ammar क्या आप मुझे संदर्भ प्रदान कर सकते हैं –
@ मुहम्मद उस्मार: नीचे 'बेनेडिच' द्वारा प्रदान किया गया उत्तर वही दृष्टिकोण है जिसके बारे में मैं बात कर रहा था। कैनवास के 'drawImage() 'फ़ंक्शन का उपयोग करें। किसी भी और कठिनाइयों के लिए हमें बताएं। – Ammar