Как обнаружить, если у изображения есть только неправильный Evif или изображение, должно быть повернуто?C#

Место общения программистов C#
Anonymous
Как обнаружить, если у изображения есть только неправильный Evif или изображение, должно быть повернуто?

Сообщение Anonymous »

У нас есть какая -то среда SharePoint, и я обнаружил тысячи изображений с неправильным Esif или неправильной ориентацией Esif +.

Например:
a) Существует также много картин с правильной ландшафтной ориентацией, но с Esif "6"
b) также есть картинки, которые будут ориентироваться как портрет, но на самом деле я имею ландшафтную ориентацию и Exif "6"

мне нужно определить, если это необходимо, чтобы быть измененным или нуждающимся в оба. Изменен.public static void SetImageProperties(System.Drawing.Image image, ImageFormat imageFormat, SPFile spFile, Enumerators.SPImageOrientations imageOrientation, bool rotate, RotateFlipType rotation)
{
string loggingMessage = null;
SPWeb spWeb = spFile.Item.ParentList.ParentWeb;
string siteUrl = spWeb.Site.MakeFullUrl(spWeb.ServerRelativeUrl);
List propertyItems = image.PropertyItems.OrderBy(pi => pi.Id).ToList();
PropertyItem propertyItem = propertyItems.Where(property => property.Id == 274).FirstOrDefault();
Int16 imageOrientationInt = Convert.ToInt16(imageOrientation);
byte imageOrientationNumber = (byte)imageOrientationInt;
if (propertyItem != null)
{
propertyItem.Value[0] = imageOrientationNumber;
image.SetPropertyItem(propertyItem);
Stream imageStream = DrawingMethods.ImageToStream(image, imageFormat);
spFile.SaveBinary(imageStream);
spWeb.Dispose();
if (rotate == true)
{
SPSite spSite = new SPSite(siteUrl);
spWeb = spSite.OpenWeb();
SPList spList = spWeb.Lists[spFile.Item.ParentList.ID];
SPListItem spListItem = spList.GetItemById(spFile.Item.ID);
spFile = spListItem.File;
image = DrawingMethods.ByteArrayToImage(spFile.OpenBinary());
image.RotateFlip(rotation);
imageFormat = MimeTypeHelper.GetImageFormat(spFile.OpenBinary());
imageStream = DrawingMethods.ImageToStream(image, imageFormat);
spFile.SaveBinary(imageStream);
spWeb.Dispose();
spSite.Dispose();
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/562 ... be-rotated

Вернуться в «C#»