Я использую C#. Net Core 3.1 для некоторых манипуляций с изображениями на бэкэнде. Здесь я получаю метаданные об ориентации изображения source
и сохраняю правильно окончательно повернутое изображение destination
. Странно то, что если я запускаю этот код в ОС Windows, он работает нормально, но в ОС Linux не работает. Сталкивался ли кто-нибудь с такой же странной ошибкой?
private static void TransferImageOrientation(Image source, Image destination, string outpitPath = "")
{
try
{
if (source == null || destination == null) return;
var imageOrientationProperty = source.PropertyItems
.LastOrDefault(p => p.Id == (int) PropertyItemIds.PropertyTagOrientation || p.Id == (int) PropertyItemIds.ThumbnailOrientation);
if (imageOrientationProperty == null) return;
var imageOrientation = BitConverter.ToInt16(imageOrientationProperty.Value);
var flipType = OrientationToFlipType(imageOrientation);
destination.RotateFlip(flipType);
}
catch (Exception)
{
// ignored
}
}