img = Image.FromFile(C_jpg);
this.pictureBox1.Image = Image.FromFile(C_jpg);
img.Dispose();
img = null;
写了img.Dispose(); 后
就
Application.Run(new Frm_PicDetail());出错了
去掉img.Dispose(); 就可以我只是想动态给this.pictureBox1.Image 赋值
为什么不可以啊
帮帮我啊
this.pictureBox1.Image = Image.FromFile(C_jpg);
img.Dispose();
img = null;
写了img.Dispose(); 后
就
Application.Run(new Frm_PicDetail());出错了
去掉img.Dispose(); 就可以我只是想动态给this.pictureBox1.Image 赋值
为什么不可以啊
帮帮我啊
生存期内不能关闭底层文件
可以考虑先从文件里读出二进制字节写入新的流,image再从新流里读取,此时可以关闭底层文件
跟大家分享一下
FileInfo Fileinfo = new FileInfo(strSavePath_jpg); FileStream imgdatastream = System.IO.File.Open(strSavePath_jpg, System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.ReadWrite);
int imgdatalen = int.Parse(Fileinfo.Length.ToString()); //定义每次读取字节的长度
byte[] m_ImgData = new byte[imgdatalen];//定义存储图片二进制的数组
imgdatastream.Read(m_ImgData, 0, imgdatalen);//获取图片的字节数 //压缩指定路径下的图片并预览
MemoryStream MemStream = new System.IO.MemoryStream(m_ImgData); this.pictureBox1.Image = Image.FromStream(MemStream);
MemStream.Dispose();
imgdatastream.Dispose();
谢谢
hdt(倦怠)谢谢所有回复我的人
感动的流鼻涕....................