Je travaille sur un programme qui télécharge des images d'une URL vers un fichier bitmap et l'affiche. Ensuite, j'essaie de sauvegarder l'image bitmap sur le disque dur en utilisant jpegbitmapencoder. Le fichier est créé avec succès mais l'image jpeg réelle est vide ou 1 pixel noir.Enregistrer BitmapImage dans le fichier
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;
}
Cette fonction enregistre et affiche la photo. La photo est affichée correctement mais à nouveau quand elle est enregistrée je reçois un jpeg vide ou 1 pixel noir. Lorsque vous créez votre image bitmap à partir d'un Uri, le temps est nécessaire pour télécharger l'image.
utiliser juste encoder.Frames.Add (BitmapFrame.Create (new WriteableBitmap (objImage))); – Andreas