2010-11-10 10 views
5

मैं एक विंडोज फोन 7 ऐप बनाने की कोशिश कर रहा हूं जो वेब से कुछ छवियों को बचाएगा, मुझे नहीं पता कि मैं कहां कर सकता हूं या यदि मैं वेब से छवियों को फोन से सहेज सकता हूं।मैं वेब से छवियों को कैसे डाउनलोड और सहेज सकता हूं?

छवियों को सहेजने के लिए मैं क्या कर सकता हूं?

उत्तर

5

फ़ोन पर, आप यहां पोस्ट की गई परियोजना के अनुसार HttbWebRequest (UI प्रभाव से बचने के लिए अनुशंसित) या वेब क्लाइंट का उपयोग कर सकते हैं।

WebClient, HttpWebRequest and the UI Thread on Windows Phone 7

इसके बाद आप अपनी स्ट्रीम लेते हैं और इसे पृथक संग्रहण पर लिखने की इस फार्म के कुछ में इसे पारित कर सकते हैं।

private void PicToIsoStore(Stream pic) { 
    using (var isoStore = IsolatedStorageFile.GetUserStoreForApplication()) { 
     var bi = new BitmapImage(); 
     bi.SetSource(pic); 
     var wb = new WriteableBitmap(bi); 
     using (var isoFileStream = isoStore.CreateFile("somepic.jpg")) { 
      var width = wb.PixelWidth; 
      var height = wb.PixelHeight; 
      Extensions.SaveJpeg(wb, isoFileStream, width, height, 0, 100); 
     } 
    } 
} 

जॉन सही है आप MediaLibrary.SavePicture का भी उपयोग कर सकते हैं। ध्यान रखें कि यह चित्र पिक्चर हब में उपयोगकर्ताओं की तस्वीरों के साथ मिश्रित चित्रों को रखेगा।

इस रूप में सीधे आगे

रूप
private void PicToMediaLibary(Stream pic) { 
    MediaLibrary lib = new MediaLibrary(); 
    lib.SavePicture("blah", pic); 
} 

अलग भंडारण में भंडारण मूल रूप से है आपकी ऐप्लिकेशन निजी फाइल सिस्टम है।

6

कच्चे बाइट प्राप्त करने के लिए आप उन्हें WebClient या WebRequest का उपयोग करके डाउनलोड कर सकते हैं।

फिर आप isolated storage पर आसानी से सहेज सकते हैं - लेकिन मुझे विश्वास नहीं है कि आप पिक्चर हब द्वारा देखे गए किसी भी स्थान पर सहेज सकते हैं, अगर आप यही चाहते थे। (मैं Microsoft.Phone.Tasks namespace में जो कुछ भी प्रासंगिक होगा नहीं देख सकते हैं का कैमरा चुनें एक तस्वीर पर कब्जा करने के कार्य होते हैं, लेकिन एक बचाने के लिए नहीं।।)

संपादित करें: ओह, मैं सिर्फ है रास्ता मिल गया। आप MediaLibrary वर्ग और इसकी SavePicture विधि का उपयोग कर सकते हैं ... हालांकि यह एक्सएनए में है, इसलिए मुझे कम से कम से संबंधित सिल्वरलाइट ऐप से काम करने के बारे में चिंता होगी। मुझे XNA एपीआई के कुछ बिट्स पता हैं सिल्वरलाइट से काम करते हैं, और कुछ नहीं करते हैं। के साथ प्रयोग करने लायक है।

+1

हाँ, मैं इसे एंड्रॉइड गैलरी, एक स्थान या फ़ोल्डर के समान स्थान पर सहेजना चाहता था। – Landmine

+0

@ लैंडमाइन: मेरा संपादन देखें। यह * जवाब हो सकता है। –

+0

मैं पुष्टि करता हूं, एक्सएनए एपीआई से मीडिया लाइब्रेरी क्लास बहुत अच्छी तरह से काम करता है। केवल Microsoft.Xna.Framework असेंबली का संदर्भ आवश्यक है। –

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

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