5
我正在使用以下代碼從手機上的MediaLibrary中獲取圖片並調整其大小。在模擬器中,它工作正常,但是當我在真實手機上試用時,它旋轉了-90度。Writeablebitmap.SaveJpeg正在旋轉我的圖像-90度
SaveJpeg的第4個參數是方向,工具提示說 「此參數當前未被此方法使用,請使用值0作爲佔位符。」
同樣的事情發生,如果我通過0,1,-1。似乎它可能實際上在手機上而不是在模擬器中實現,但我不知道該通過什麼。
public byte[] GetPhoto(string photoName, int width, int height)
{
using (var ml = new Microsoft.Xna.Framework.Media.MediaLibrary())
{
using(Stream stream = (from p in ml.Pictures where p.Name == photoName select p).FirstOrDefault().GetImage())
{
//load the stream into a WriteableBitmap so it can be resized
using(MemoryStream outstream = new MemoryStream())
{
PictureDecoder.DecodeJpeg(stream).SaveJpeg(outstream, width, height, 0, 85);
return outstream.ToArray();
}
}
}
}
此外,我只是注意到,手機上的示例圖片沒有這個問題,只是我採取了。
你正在以縱向還是橫向模式查看?這聽起來像是在這裏沒有做錯什麼,它只是你期望拍攝/觀看照片的模式。 – 2011-05-06 21:54:19
照片是在肖像模式下拍攝的,正在肖像模式下查看 – Tyler 2011-05-06 22:21:27
Picture.GetThumbnail()正確顯示圖像,所以它與上面的代碼的東西 – Tyler 2011-05-06 22:29:13