Потребовалось тут реализовать небольшой код по мелкой обработке картинок (изменение размеров, обрезка).
В целом возможностей System.Drawing вполне хватает.
Но странно ведет себя сохранение в JPEG — на некоторых картинках в результирующем изображении немного (но вполне заметно глазом) сдвигаются некоторые цвета (т.е. был малиновый, стал красно-фиолетовый). При том, что оригинал — так же jpeg.
При сохранении в bmp или png — все нормально.
Как быть и что делать, чтобы сохранялись оригинальные цвета?
Банальный:
var image = Bitmap.FromFile( sourceFileName );
image.Save( resultFileName, ImageFormat.Jpeg );
уже портит цветность.
пробовал и с заданием качества сжатия — без разницы, только четкость меняется.
так же пробовал при открытии передавать useEmbeddedColorManagement — никакого эффекта
Обработка и пересохранение той же картинки в jpeg в Paint.NET цветность не меняет.