J'essaie de "copier" une image d'une autre image, de réduire sa hauteur et sa largeur et de la renvoyer en tant que flux pour la récupérer dans une autre classe et afficher en tant qu'image. Mais quand je reçois le flux dans l'autre classe, et l'exception est levée; "Impossible d'accéder au flux fermé".Impossible d'accéder à un flux fermé Exception
Cette méthode obtient le chemin de l'image, réduit sa taille et renvoie un flux.
public Stream getImagenCopia (string dataImagen)
{
Bitmap ImageOrig = BitmapFactory.DecodeFile (dataImagen);
var ImagenCopia = Bitmap.CreateScaledBitmap (ImageOrig, 80, 80, false);
using (MemoryStream ms = new MemoryStream())
{
ImagenCopia.Compress (Bitmap.CompressFormat.Jpeg, 40, ms);
return ms;
}
}
Cette méthode reçoit le flux et elle met en source d'image
var cim = auxFotos.getImagenCopia(path);
setImagen(img, cim);
void setImagen (Image img, Stream strm)
{
img.Source = ImageSource.FromStream (() =>
{
return strm;
});
}
Merci Grant !! Une autre question, 'var ImagenCopia = Bitmap.CreateScaledBitmap (ImageOrig, 80,80, false);' est-ce exact? Je ne pense pas que cela fonctionne parce que l'image n'apparaît pas dans img.Source et je ne reçois pas de messages d'erreur ou quoi que ce soit :( –
Pas de problème @Samir.Je ne suis pas sûr ... vous feriez mieux de poster un nouvelle question avec tous les détails pertinents pour cette question particulière –
Ok, je vais le faire! Merci encore! :) –