Image.FromStream与Image.FromFile
生活随笔
收集整理的這篇文章主要介紹了
Image.FromStream与Image.FromFile
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
在使用vs進(jìn)行開發(fā)時(shí),我們有時(shí)會(huì)使用Image.FromFile配合PictureBox來加載并顯示圖片,感覺挺方便,但是使用Image.FromFile有個(gè)小問題,加載完文件后不自動(dòng)釋放,導(dǎo)致再次操作被關(guān)聯(lián)文件時(shí)候出現(xiàn)類似“文件xxx正由另一進(jìn)程使用,因此該進(jìn)程無法訪問該文件。”的錯(cuò)誤,因此當(dāng)要對(duì)一個(gè)文件進(jìn)行多次操作時(shí),最好不要使用Image.FromFile?而使用Image.FromStream。 將一個(gè)圖片加載并顯示在picturebox上,一般情況下得到預(yù)期的結(jié)果,然而對(duì)于同一個(gè)filepath,若連續(xù)兩次調(diào)用下面的語句系統(tǒng)將會(huì)報(bào)錯(cuò)(如用戶多次選擇加載同一張圖片)。 pictureBox1.Image = Image.FromFile(filepath);
采用Image.FromStream代替Image.FromFile可以解決上述問題,調(diào)用方法如下: using (FileStream image = new FileStream(filepath, FileMode.Open)) {pictureBox1.Image = Image.FromStream(image); }
也可以這樣:
pictureBox1.Image = Image.FromStream(new MemoryStream(File.ReadAllBytes(filepath)))
采用Image.FromStream代替Image.FromFile可以解決上述問題,調(diào)用方法如下: using (FileStream image = new FileStream(filepath, FileMode.Open)) {pictureBox1.Image = Image.FromStream(image); }
也可以這樣:
pictureBox1.Image = Image.FromStream(new MemoryStream(File.ReadAllBytes(filepath)))
轉(zhuǎn)載于:https://www.cnblogs.com/rsls/archive/2012/12/14/4364115.html
總結(jié)
以上是生活随笔為你收集整理的Image.FromStream与Image.FromFile的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 百度谷歌等大型网站收录网页提交入口地址
- 下一篇: 水星 MW315R V1 无线路由器修改