2009-01-10 9 views
19

क्या किसी को फ्लैश का उपयोग करके क्लाइंट साइड इमेज का आकार बदलने के बारे में कोई विचार है।फ्लैश अपलोड छवि क्लाइंट साइड का आकार बदलें

उदाहरण: ग्राहक 1200x800 के साथ एक छवि चुनता है और इसे अपलोड करने से पहले फ़्लैश इसे आधा या कुछ में बदल देगा।

किसी भी विचार?

उत्तर

16

plupload ओपनसोर्स है, अच्छा प्रलेखन है और समर्थन करता है गियर्स और HTML5 सहित कई प्लेटफार्मों,!

http://www.plupload.com/index.php
http://www.plupload.com/example_all_runtimes.php

आह, हाँ, अपलोड करने से पहले छवियों का आकार का समर्थन करता है। ऑरिग्मा का सबसे नज़दीकी विकल्प, लेकिन मुफ्त में :)

+0

मैं _heard_ कि आकार की छवि की गुणवत्ता अच्छी नहीं है, तो उपयोग क्या है! – Aklin

+0

यह ओपन सोर्स है, इसलिए आप इसे हमेशा सुधार सकते हैं। i.e: इमेस्क्रिप्ट के साथ छवि मैगिक संकलित करें और आपको छवि गुणवत्ता में सुधार के लिए कई विकल्प मिलेंगे। – develCuy

1

सिल्वरलाइट, एक्टिवएक्स और जावा यह पूरी तरह क्लाइंट-साइड कर सकते हैं। यदि आपको फ़्लैश का उपयोग करना है तो आपको फ़्लैश 10 का उपयोग करने की आवश्यकता होगी जो अभी तक प्रचलित नहीं है। फ्लैश कैफे से uploading an image to Flash then resizing it on the client पर एक उदाहरण दिया गया है।

फ़्लैश 8 या 9 में अन्य विकल्पों में सर्वर-साइड आकार बदलने वाली स्क्रिप्ट शामिल होगी, जो अधिकांश परिदृश्यों में उद्देश्य को हरा देती है।

1

आपको एक रूपांतरण मैट्रिक्स बनाने की आवश्यकता है, फिर मूल बिटमैप को इसका उपयोग करके एक नए में खींचें। यहाँ कुछ मैं सिर्फ में टाइप कर रहा हूँ में विचार है और परीक्षण नहीं किया:

function resize(obm:BitmapData, scale:Number): BitmapData { 
    var resizeMatrix:Matrix = new Matrix(); 
    resizeMatrix.scale(scale, scale); 

    var rbm:BitmapData = new BitmapData(obm.width * scale, obm.height * scale); 
    rbm.draw(obm, resizeMatrix); 

    return rbm; 
} 

मैं परिणाम की गुणवत्ता के बारे में कोई दावा नहीं कर तथापि,। मुझे लगता है कि मैं, अतीत में इस कोशिश कर याद परिणाम पसंद नहीं है, और punting ...

10

स्क्रिप्ट मैं लिखा था पर एक नज़र डालें: image resizing at client side

+0

अद्भुत काम! अनुशंसित –

4

http://www.shift8creative.com/projects/agile-uploader/index.html

मैं सिर्फ इस छोटे से परियोजना समाप्त हो गया उपयोग करने के लिए स्वतंत्र। यह वास्तव में अंतिम उपयोगकर्ता को आकार का चयन करने की अनुमति नहीं देगा, लेकिन आप अधिकतम चौड़ाई और अधिकतम ऊंचाई बाधा पारित कर सकते हैं। शायद आप विभिन्न विकल्पों के साथ कई पेज/एम्बेड कर सकते हैं।

+0

यह प्रोजेक्ट अब सक्रिय नहीं है, हालांकि ओपन सोर्स है। हालांकि यह सभी छवियों को अपलोड पर जेपीजी फाइलों में परिवर्तित करता है। एक समस्या यदि आप लाइन-कला प्रकार पीएनजी फ़ाइलों को अपलोड करना चाहते हैं (क्योंकि गुणवत्ता नाटकीय रूप से प्रभावित होती है)। – Chris

1

मैं फ़्लैश अपलोडर का उपयोग कर रहा http://www.resize-before-upload.com से, बस ठीक काम करता है :)

+0

यह अब समर्थित नहीं है और बीएमपी फ़ाइलों को अपलोड करने की अनुमति नहीं देगा। – Chris

0

का नवीनतम संस्करण क्लाइंट-साइड छवि का आकार बदल रहा है (फ्लैश का उपयोग करके)। एक बहुत उपयोगी उपकरण, हालांकि अपलोड प्रगति प्रदर्शित करने जैसे अतिरिक्त थोड़ा सा हो सकता है।

http://code.google.com/p/swfupload/

+1

ऐसा लगता है कि परियोजना मर सकती है। इसे मार्च 2010 से अपडेट नहीं किया गया है, v2.5 एक 'बीटा 3' है और कई खुले मुद्दे हैं - http://code.google.com/p/swfupload/issues/list देखें। – Chris

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