5

मैं निम्नलिखित कोड का परीक्षण कर रहा हूं, और जब मैं एनिमेटेड gif की प्रतिलिपि बनाता हूं और उसे वेब पेज पर पेस्ट करता हूं, तो मुझे कंसोल में दिखाई देता है - इसके बजाय image/gif की अपेक्षा की जाती है।ब्राउज़र क्लिपबोर्ड एपीआई से एनिमेटेड gif छवि कैसे प्राप्त करें?

क्यों?

document.onpaste = function(event) { 
    console.log(event.clipboardData.items[1]['type']); // 'image/png' 
}; 

मैं एक gif छवि से कैसे मिलान कर सकता हूं?

उदाहरण के लिए आप पर this gif छवि के साथ इसका परीक्षण कर सकते हैं।

उत्तर

2

CF_GIF क्लिपबोर्ड प्रारूप का शायद ही कभी उपयोग किया जाता है। अधिकांश ऐप प्रतिलिपि क्लिपबोर्ड पर केवल CF_BITMAP, CF_ENHMETAFILE, या CF_DIB के रूप में कॉपी करते हैं। फिर जब आप पेस्ट करते हैं, तो डेटा को पीएनजी या बिटमैप जैसे लक्षित एप्लिकेशन परफॉर्मेंस में परिवर्तित किया जाता है। तो आपके मामले में, जीआईएफ को क्लिपबोर्ड पर बिटमैप के रूप में कॉपी किया गया था, फिर पेस्ट करते समय पीएनजी में परिवर्तित किया गया था। आपके जीआईएफ के सभी एनीमेशन फ्रेम खो गए थे। संरक्षित करने के लिए, आपको CF_HDROP, CF_FileName, आदि के साथ फ़ाइल पेस्टिंग को ड्रैग/ड्रॉप या अनुकरण करने की आवश्यकता है ..

+0

धन्यवाद, btw यह है: कि छवि कहीं और होस्ट किया गया है तो आप उस मार्ग -http जा सकते हैं जीमेल पर काम करता है - http://joxi.ru/XqYiUdg5CbBfA-DXlPw – milushov

+0

> "CF_HDROP साथ फ़ाइल चिपकाने का अनुकरण, CF_FileName" क्या आपको पता है कि यह कैसे करें? – milushov

0

जब आप छवि पर राइट क्लिक करके (मुझे लगता है) एक gif छवि कॉपी करते हैं और फिर "छवि कॉपी करें" तो आप पूरी फ़ाइल के बजाय वर्तमान फ्रेम की प्रतिलिपि बनाते हैं। अगर आप पूरी फाइल को कैप्चर करना चाहते हैं तो मैं ड्रैग ड्रॉप इवेंट में इसे कैप्चर करने का सुझाव देता हूं।

+0

धन्यवाद, लेकिन यह सुविधा जीमेल - http://joxi.ru/XqYiUdg5CbBfA-DXlPw पर काम करती है :) लेकिन मैं उनके uglifying कोड आधार नहीं समझ सकता .. – milushov

+0

मैं खींचें ड्रॉप घटना उपयोग नहीं कर सकते, मैं वास्तव में क्लिपबोर्ड की जरूरत है :( – milushov

+1

यह जीमेल, छवि क्लिपबोर्ड डेटा की बजाय स्रोत URL उपयोग कर रहा है अगर आप कोई आपत्ति नहीं है लगता है //i.imgur.com/4fHp2xB.jpg – Rovak

संबंधित मुद्दे