Существуют различные проблемы с Image.FromFile () ...
Image srcImg = Image.FromFile(imagePath);
Приведенный выше оператор не закроет файловый поток, и это создаст проблемы, если вы захотите снова получить доступ к файлу или удалить его. Я бы написал вашу функцию таким образом.
public static Image CompressImage(string imagePath, long quality)
{
using(FileStream fs = File.OpenRead(imagePath)){
Image srcImg = Image.FromStream(fs);
EncoderParameters parameters = new EncoderParameters(1);
parameters.Param[0] = new EncoderParameter(Encoder.Quality, quality);
ImageCodecInfo encoder = GetCodecInfo("image/jpeg");
srcImg.Save("d:\\creatives\\abcd123.jpg", encoder, parameters);
}
}
Это гарантирует, что мой файл будет закрыт в конце использования области действия.