В настоящее время у меня возникает проблема, когда изображение не может быть преобразовано в Bitmap.
Это код, о котором идет речь:
private void btnPicture_Click(object sender, EventArgs e)
{
OpenFileDialog opFile = new OpenFileDialog();
opFile.Title = "Choose a picture!";
opFile.Filter = "jpg files (*.jpg)|*.jpg|All files (*.*)|*.*";
string appPath = Path.GetDirectoryName(Application.ExecutablePath);
if (Directory.Exists(appPath) == false)
{
Directory.CreateDirectory(appPath);
}
if (opFile.ShowDialog() == DialogResult.OK)
{
try
{
Character.imageName = opFile.SafeFileName;
Stream stream = opFile.OpenFile(); //<------ This is the line in question
Bitmap toResize = new Bitmap(stream);
Image characterImage = ResizeImage(toResize, 200, 306);
imgCharacter.Image = characterImage;
characterImage.Save("Images/" + Character.imageName);
}
catch (Exception exp)
{
MessageBox.Show("Please select a picture, exception code: " + exp.Message);
}
}
else
{
opFile.Dispose();
}
}
Теперь в основном этот код работает с каждым изображением, которое Я пробовал, за исключением 1. Единственное изображение, которое мои друзья пытались загрузить, будет выглядеть sh со следующей ошибкой: Параметр недействителен.
То, что я пробовал:
- Сначала друг прислал мне рассматриваемое изображение. Я загрузил его и столкнулся с той же проблемой.
- Затем я попросил друга прислать мне другие изображения, которые работали на его машине, они все еще работали.
- Затем я открыл это изображение в Paint , "сохранил как" картинку в любую папку, потом все заработало. В процессе я получил предупреждение о том, что сохранение изображения таким образом может привести к потере прозрачности.
- Чтобы проверить, была ли проблема с прозрачностью, я загрузил "прозрачное" изображение с экрана rnet, чтобы проверить, не вот в чем проблема - изображение загрузится правильно.
- Наконец, я искал точно такое же изображение на inte rnet и пытался загрузить его точно так же, как это сделал мой друг, я не получил ошибка.
- Чтобы убедиться, что изображение не повреждено, я попросил друга загрузить его еще раз и отправить мне - ошибка все равно возникнет.
- Я запустил отладчик построчно чтобы точно определить строку кода, в которой происходит сбой. Понятия не имею, в чем может быть причина.
Ссылка на изображение: https://cdn.discordapp.com/attachments/413040202307731466/713873776143499294/babar1.jpg
Я пытался найти справку в Интернете, но не нашел все, что имеет отношение к делу, так что вот я, если есть что-то особенно особенное в этой картинке (или группе картинок), о чем я не знаю, пожалуйста, простите, я не являюсь графическим дизайнером ни в каком виде, ни в какой форме или форме.
Хорошего дня.