WPFでImage
コントロールで問題が発生しています。WPF画像コントロールとjpg回転メタデータ
私は間違ったローテーションでロードする1つのjpgファイルを持っていて、ウィンドウ内でこの画像を回転さえ(右クリックしてrotate left/right
)、アプリケーションに変更はありません。
イメージには、間違ったイメージとともに回転するEXIFメタデータがあるようです。
私はwwwからイメージを読んでいるので、私はローカルファイルを持っていない(そして私はそれを持っていない)。ここで私はBitmapImage
にbyte[]
を変換しています方法は次のとおりです。
public static BitmapImage BitmapImageFromByteArray(Byte[] bytes)
{
MemoryStream stream = new MemoryStream(bytes);
BitmapImage image = new BitmapImage();
image.BeginInit();
image.CacheOption = BitmapCacheOption.OnLoad;
image.StreamSource = stream;
image.EndInit();
stream.Close();
stream.Dispose();
return image;
}
だからを扱う2つの方法があります:
BitmapImage
- が設定
Image
を制御これらのいずれかを手伝ってもらえますか?
を、あなたに'stream.Close()'と 'stream.Dispose()'を同時に呼び出す必要はありません。 1つで十分です。さらに、 'using'ブロックを使用すると、' using(var stream = new MemoryStream(bytes)){...} 'のように自動的にストリームが破棄されます。 – Clemens
私は知っている、このコードは、それが最適化されていないように試してトンの後です:) – Tomasz
私はリンクにコードを試してみましたか、何が起こったのですか? – mm8