此错误显示了运行该程序,并尝试加载图像时:的Visual C++,在系统图(Windows窗体)系统参数异常
类型的第一个机会异常“System.ArgumentException”发生系统。 Drawing.dll 类型“System.ArgumentException”未处理的异常发生在System.Drawing.dll程序
附加信息:该参数是无效的。
这里是我的代码:
基本上,有一个的NumericUpDown,一个按钮,一个OpenFileDialog和一个PictureBox。用户根据他要加载的图片更改numericUpDown的值(用户不必打开openFileDialog)。例如,如果用户选择“3”作为一个的NumericUpDown值时,打开文件对话框的文件名是:
Public:
void Set_FilePath()
{
int n = (int)numericUpDown1->Value;
switch (n)
{
case 1: openFileDialog1->FileName = "C:\Users\Public\Pictures\Sample Pictures\Chrysanthemum.jpg"; break;
case 2: openFileDialog1->FileName = "C:\Users\Public\Pictures\Sample Pictures\Desert.jpg"; break;
case 3: openFileDialog1->FileName = "C:\Users\Public\Pictures\Sample Pictures\Hydrangeas.jpg"; break;
case 4: openFileDialog1->FileName = "C:\Users\Public\Pictures\Sample Pictures\Jellyfish.jpg"; break;
case 5: openFileDialog1->FileName = "C:\Users\Public\Pictures\Sample Pictures\Koala.jpg"; break;
case 6: openFileDialog1->FileName = "C:\Users\Public\Pictures\Sample Pictures\Lighthouse.jpg"; break;
case 7: openFileDialog1->FileName = "C:\Users\Public\Pictures\Sample Pictures\Penguins.jpg"; break;
case 8: openFileDialog1->FileName = "C:\Users\Public\Pictures\Sample Pictures\Tulips.jpg"; break;
}
}
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
Bitmap^ myImage;
Set_FilePath();
myImage = gcnew Bitmap(openFileDialog1->FileName);
pictureBox1->SizeMode = PictureBoxSizeMode::StretchImage;
pictureBox1->Image = dynamic_cast <Image^> (myImage);
}
我试图修复它:
我认为我没有抄图像的方向正确。所以我改变了代码:
if(openFileDialog1->ShowDialog() == System::Windows::Forms::DialogResult::OK)
{
MessageBox::Show(openFileDialog1->FileName);
myImage = gcnew Bitmap(openFileDialog1->FileName);
pictureBox1->SizeMode = PictureBoxSizeMode::StretchImage;
pictureBox1->Image = dynamic_cast <Image^> (myImage);
}
这是可以正常使用。此外,显示打开文件对话框的文件名一个消息的出现......这是正确的图像的方向...我不知道什么是错我的程序。问题是我不希望openFiledialog出现。
(我使用Visual Studio C++ 2010中,应用程序在Windows的形式提出),任何帮助,将不胜感激。 谢谢..用图像和位图类提出
它仍然不起作用:myImage = gcnew位图(openFileDialog1-> FileName); Works 100%myImage = gcnew Bitmap(textBox1-> Text);也有效100%myImage = gcnew BitMap(“图像”)不起作用(异常错误:参数无效),即使我按照你说的方式修复了代码。感谢您的试用 –
gcnew位图(“Image”)应该做什么?您没有名为“Image”的文件,该参数无效。继续尝试。 –
我怎样才能加载图像? –