ArgumentNullException was unhandled
本文关键字:unhandled was ArgumentNullException | 更新日期: 2023-09-27 18:26:14
这是将图像保存到数据库的代码的一部分
Bitmap TempImage = new Bitmap(@cwd + "''Final.jpg", true);
pictureBox.Image = new Bitmap(TempImage);//pictureBox.Image = Image.FromFile(imgName[0]);
TempImage.Dispose();
string name = textBox1.Text + ".jpg";
MemoryStream mstr = new MemoryStream();
pictureBox.Image.Save(mstr, pictureBox.Image.RawFormat);
byte[] arrImage = mstr.GetBuffer();
则程序在pictureBox.Image.Save(mstr, pictureBox.Image.RawFormat);
处停止,称为ArgumentNullException was unhandled, Value cannot be null.
Parameter name: encoder
会出什么问题?
要拿一个WAG说你不应该处理你以后可能会弄乱的东西。
using( Bitmap TempImage = new Bitmap(@cwd + "''Final.jpg", true))
{
pictureBox.Image = TempImage // why do => new Bitmap(TempImage); here?
string name = textBox1.Text + ".jpg";
MemoryStream mstr = new MemoryStream();
pictureBox.Image.Save(mstr, pictureBox.Image.RawFormat);
byte[] arrImage = mstr.GetBuffer();
}
// after this point, you'd better not be using pictureBox either!
此外,不确定为什么要创建两个位图。。。或者使用"pictureBox"保存图像。。。坦率地说,我越看这个代码,就越感到困惑。也许你应该问一个问题,比如
我正在尝试foo一个图像,这样我就可以禁止了。我该怎么做?
并完全跳过这段代码。
Save()的实现将对作为第二个参数(pictureBox.Image.RawFormat)传入的格式调用FindEncode(),返回null。
只需使用
pictureBox1.Image =
Bitmap.FromFile(@"C:'Users'Public'Pictures'Sample Pictures'Desert.jpg");