今天在用webuploader插件做上传图片,发现用IOS系统上传的图片,在预览的时候方向是正常的,但是传到后台后,方向错误,所以找了下面的方法,在储存以前先对图片方向进行调整:
/// <summary>
/// 根据图片exif调整方向
/// </summary>
/// <param name="sm"></param>
/// <returns></returns>
public static Bitmap RotateImage(Stream sm)
{
Image img = Image.FromStream(sm);
var exif = img.PropertyItems;
byte orien = 0;
var item = exif.Where(m => m.Id == 274).ToArray();
if (item.Length > 0)
orien = item[0].Value[0];
switch (orien)
{
case 2:
img.RotateFlip(RotateFlipType.RotateNoneFlipX);//horizontal flip
break;
case 3:
img.Rot