0
イメージを別のイメージから「コピー」し、そのイメージの高さと幅を減らし、ストリームとして戻して別のクラスで取得し、イメージとして表示しようとしています。しかし、私が他のクラスのストリームを取得し、例外がスローされます。 msgstr "閉じたストリームにアクセスできません" msgid。クローズドストリームにアクセスできない例外
このメソッドは、イメージパスを取得し、サイズを縮小してストリームとして返します。
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;
}
}
このメソッドは、ストリームを受信し、あなたがusing
ブロックを使用しているので、あなたがMemoryStream
を処分している
var cim = auxFotos.getImagenCopia(path);
setImagen(img, cim);
void setImagen (Image img, Stream strm)
{
img.Source = ImageSource.FromStream (() =>
{
return strm;
});
}
ありがとうございました!もう1つの質問、 'var ImagenCopia = Bitmap.CreateScaledBitmap(ImageOrig、80,80、false);'は正しいですか?イメージがimg.Sourceに表示されず、エラーメッセージや何も表示されないため、動作しているとは思われません。( –
問題はない@Samir。私はよく分からない。その特定の問題に関するすべての関連する詳細と新しい質問。 –
私はそれを行うよ!もう一度ありがとう!:) –