Параметр недопустим с saveFileDialog - PullRequest
0 голосов
/ 20 ноября 2018

У меня есть кнопка, которая намеревается сохранить изображение картинки, которая у меня есть.

Это код:

private void btnGuardaImatge_Click(object sender, EventArgs e)
{
    using (SaveFileDialog saveFileDialog = new SaveFileDialog())
    {
        saveFileDialog.InitialDirectory = "c:\\";
        saveFileDialog.Filter = "Bitmap (*.bmp)|*.bmp| Png| *.png| Tots els fitxers(*.*)|*.*";
        saveFileDialog.FilterIndex = 1;

        if (saveFileDialog.ShowDialog() == DialogResult.OK)
        {
            Bitmap b = new Bitmap(saveFileDialog.FileName);
            pctOriginal.Image = b;
            this.imatge = b;
        }
    }
}

Но она постоянно выдает эту ошибку напервая строка внутри блока if():

System.ArgumentException: 'Параметр недействителен.'

Я попробовал это вместо:

Bitmap b = new Bitmap(Filename: saveFileDialog.FileName);

Но не повезло ... Есть идеи?

1 Ответ

0 голосов
/ 20 ноября 2018

Существует конфликт между тем, что код пытается сделать, и тем, что вы говорите, код должен пытаться сделать.

С одной стороны, у нас есть это:

*Кнопка 1005 *, которая намеревается сохранить изображение в поле изображения

вместе с использованием SaveFileDialog.

С другой стороны, у нас есть это:

Bitmap b = new Bitmap(saveFileDialog.FileName);
pctOriginal.Image = b;
this.imatge = b;

Открывает существующее изображение из файла и показывает его в PictureBox, а не сохраняет PictureBox в файл.

Они являются точными противоположностями.

Если вы намерены первый, вы должны сделать это:

private void btnGuardaImatge_Click(object sender, EventArgs e)
{
    using (SaveFileDialog saveFileDialog = new SaveFileDialog())
    {
        saveFileDialog.InitialDirectory = "c:\\";
        saveFileDialog.Filter = "Bitmap (*.bmp)|*.bmp| Png| *.png| Tots els fitxers(*.*)|*.*";
        saveFileDialog.FilterIndex = 1;

        if (saveFileDialog.ShowDialog() == DialogResult.OK)
        {
            pctOriginal.Image.Save(saveFileDialog.FileName, ImageFormat.Jpeg);
        }
    }
}

И если вы намерены последнийпопробуйте использовать OpenFileDialog вместо SaveFileDialog.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...