日期:2014-05-17  浏览次数:20819 次

c# 图片文件读取
// Image.FromFile(path);但该方面 在释放 Image 之前,此文件将一直保持锁定状态(MSDN),所以对于共享文件或多用户访问的Image来说,该方法不合适。网上也提出来一些方法去解决,如在加载图像的时候用一种方法替代:
System.Drawing.Image img = System.Drawing.Image.FromFile(filepath);
System.Drawing.Image bmp = new System.Drawing.Bitmap(img);
img.Dispose();?

?

?

//虽然我们可以在程序中及时释放,但如果文件设置成只读或者用户未释放前还是无法访问的,会提示说该文件正在被另一进程访问。
//经过实践,我们可以通过FileStream 来打开文件,这样就可以实现不锁定Image文件,到时可以让多用户同时访问Image文件。具体文件实现如下:
FileStream fs = File.OpenRead(path); //OpenRead
int filelength = 0;
filelength = (int)fs.Length; //获得文件长度 
Byte[] image = new Byte[filelength]; //建立一个字节数组 
fs.Read(image, 0, filelength); //按字节流读取 
System.Drawing.Image result = System.Drawing.Image.FromStream(fs);
fs.Close();

?