这是将图像保存到数据库的代码的一部分
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
会有什么问题呢?
发布于 2012-02-29 02:08:23
我要写一个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一个图像,这样我就可以阻止了。我该怎么做呢?
完全跳过这段代码。
发布于 2012-02-29 02:11:15
Save()的实现将对您作为第二个参数(pictureBox.Image.RawFormat)传递的格式调用FindEncoder(),这将返回null。
发布于 2012-02-29 02:15:58
只需使用
pictureBox1.Image =
Bitmap.FromFile(@"C:\Users\Public\Pictures\Sample Pictures\Desert.jpg");https://stackoverflow.com/questions/9487255
复制相似问题