पर सहेजें मैं एक ऐसे प्रोग्राम पर काम कर रहा हूं जो एक यूआरएल से बिटमैपीमेज में छवियों को डाउनलोड करता है और इसे प्रदर्शित करता है। इसके बाद मैं jpegbitmapencoder का उपयोग कर हार्डमैव में बिटमैपिमेज को सहेजने का प्रयास करता हूं। फ़ाइल सफलतापूर्वक बनाई गई है लेकिन वास्तविक जेपीईजी छवि खाली है या 1 ब्लैक पिक्सेल है।BitmapImage को फ़ाइल
public Guid SavePhoto(string istrImagePath)
{
ImagePath = istrImagePath;
BitmapImage objImage = new BitmapImage(
new Uri(istrImagePath, UriKind.RelativeOrAbsolute));
PictureDisplayed.Source = objImage;
savedCreationObject = objImage;
Guid photoID = System.Guid.NewGuid();
string photolocation = photoID.ToString() + ".jpg"; //file name
FileStream filestream = new FileStream(photolocation, FileMode.Create);
JpegBitmapEncoder encoder = new JpegBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(objImage));
encoder.Save(filestream);
return photoID;
}
यह वह फ़ंक्शन है जो फ़ोटो को सहेजता और प्रदर्शित करता है। तस्वीर सही ढंग से प्रदर्शित होती है लेकिन जब इसे सहेजा जाता है तो मुझे खाली जेपीईजी या 1 ब्लैक पिक्सेल मिलता है।
बस encoder.Frames.Add उपयोग कर सकते हैं (BitmapFrame.Create (नया लिखने योग्य बिटमैप (objImage))); – Andreas