Нужна помощь, я пытаюсь сжать изображения

это мой первый вопрос в stackoverlow и извините за мой грязный английский

Я всегда получал это сообщение об ошибке при попытке сохранить изображения

Скриншот всплывающего окна исключения

он сказал, что в gdi+ произошла общая ошибка. Я пытаюсь сохранить сжатые изображения в исходной папке

Вот мой код

 public static void CompressImage(string SoucePath, int quality)
        {
            var FileName = Path.GetFileName(SoucePath);
            var DestPath = SoucePath + "\\" + FileName;

            using (Bitmap bmp1 = new Bitmap(SoucePath))
            {
                ImageCodecInfo jpgEncoder = GetEncoder(ImageFormat.Jpeg);

                System.Drawing.Imaging.Encoder QualityEncoder = System.Drawing.Imaging.Encoder.Quality;

                EncoderParameters myEncoderParameters = new EncoderParameters(1);

                EncoderParameter myEncoderParameter = new EncoderParameter(QualityEncoder, quality);

                myEncoderParameters.Param[0] = myEncoderParameter;
                bmp1.Save(DestPath, jpgEncoder, myEncoderParameters);

            }
        }
        private static ImageCodecInfo GetEncoder(ImageFormat format)
        {
            ImageCodecInfo[] codecs = ImageCodecInfo.GetImageDecoders();
            foreach (ImageCodecInfo codec in codecs)
            {
                if (codec.FormatID == format.Guid)
                {
                    return codec;
                }
            }
            return null;
        }

person The Uncrown    schedule 18.09.2020    source источник
comment
Разместите полный текст ошибки в самом вопросе. Изображения нельзя копировать, искать в Google или компилировать. Текст исключения содержит место, где было создано исключение, и вызовы, которые привели к нему. Прямо сейчас у нас нет возможности узнать, какая строка в коде вызвала   -  person Panagiotis Kanavos    schedule 18.09.2020
comment
В этом сообщении об ошибке есть CopyDetails, пожалуйста, не используйте скриншоты.   -  person CSharpie    schedule 18.09.2020
comment
Насколько известно, путь к файлу может быть неправильным, потому что путь к папке уже содержит завершающую обратную косую черту. Вы должны использовать Path.Combine(SoucePath , FileName) вместо SoucePath + "\\" + FileName. У учетной записи приложения может не быть разрешения на запись в целевую папку. FileName может быть относительным путем, указывающим на недопустимую папку, например, ..\..\Images\someImage.jpg может указывать на папку проекта Images во время отладки, но совершенно другое место во время выполнения.   -  person Panagiotis Kanavos    schedule 18.09.2020
comment
@PanagiotisKanavos спасибо! теперь это работает :'D теперь мне нужно найти способ удалить старые файлы   -  person The Uncrown    schedule 21.09.2020