Chrome 50 से कैनवस एलिमेंट को अपग्रेड किया जा रहा है: अब यह toBlob()
तरीके के साथ काम करता है! यह क्लाइंट-साइड पर इमेज जनरेट करने वाले उन लोगों के लिए अच्छी खबर है जो इन्हें अपने सर्वर पर अपलोड करना चाहते हैं या आने वाले समय में इस्तेमाल करने के लिए, इन्हें IndexedDB में सेव करना चाहते हैं.
function sendImageToServer (canvas, url) {
function onBlob (blob) {
var request = new XMLHttpRequest();
request.open('POST', url);
request.onload = function (evt) {
// Blob sent to server.
}
request.send(blob);
}
canvas.toBlob(onBlob);
}
toBlob()
का इस्तेमाल करना बहुत अच्छा है, क्योंकि toDataURL()
से मिली base64 कोड में बदली गई स्ट्रिंग में बदलाव करने के बजाय, अब सीधे तौर पर एन्कोड किए गए बाइनरी डेटा के साथ काम किया जा सकता है. यह छोटा होता है और डेटा यूआरआई की तुलना में ज़्यादा इस्तेमाल होता है.
अगर आपको यह जानना है कि किसी दूसरे कैनवस कॉन्टेक्स्ट में इमेज ब्लॉब बनाए जा सकते हैं या नहीं, तो इसका जवाब है -- Firefox और Chrome में, हां, बिल्कुल! ऐसा करने के लिए, createImageBitmap()
एपीआई का इस्तेमाल किया जा सकता है. यह एपीआई, Chrome 50 में भी उपलब्ध होगा.