У меня есть приложение, показывающее загрузку картинок из системы. Для этого я должен вращаться при загрузке портретных изображений. Первоначально при повороте размер изображения увеличивался, а метаданные изображения терялись. Затем я передал формат изображения в качестве параметра при сохранении изображения.
myImage.Save(<ImagePath>, <Image Format>);
Но теперь размер файла уменьшается почти на 50%.
using (Image image = Image.FromFile(sourceFileName))
{
int oritentation = (int)image.GetPropertyItem(274).Value[0];
RotateFlipType rotatedFlipAngle = RotateFlipType.RotateNoneFlipNone;
switch (oritentation)
{
case 3:
rotatedFlipAngle = RotateFlipType.Rotate180FlipNone;
break;
case 4:
rotatedFlipAngle = RotateFlipType.Rotate180FlipX;
break;
case 5:
rotatedFlipAngle = RotateFlipType.Rotate90FlipX;
break;
case 6:
rotatedFlipAngle = RotateFlipType.Rotate90FlipNone;
break;
case 7:
rotatedFlipAngle = RotateFlipType.Rotate270FlipX;
break;
case 8:
rotatedFlipAngle = RotateFlipType.Rotate270FlipNone;
break;
}
var rawFormat = image.RawFormat;
if (_rotatedFlipAngle != RotateFlipType.RotateNoneFlipNone)
{
image.RotateFlip(_rotatedFlipAngle);
image.Save(fileName), rawFormat);
}
}
В чем проблема уменьшения оригинальный размер изображения? Спасибо.