我正在使用以下代码从手机上的 MediaLibrary 获取图片并调整其大小。在模拟器中它工作正常,但是当我在真实手机上尝试时它会旋转 -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();
}
}
}
}
另外我刚刚注意到手机上的示例图片没有这个问题,只是我拍摄的那些。