Как обнаружить, если у изображения есть только неправильный 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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