我有2個樣本代碼,我嘗試做同樣的事情,將屬性項更新回圖像並將其保存在不同的文件下。從流打開的圖像不同於從文件打開的圖像
代碼1
Image image;
using (FileStream stream = new FileStream(this.fileName, FileMode.Open)) {
image = Image.FromStream(stream);
foreach (var property in this.propItems) {
image.SetPropertyItem(property);
}
}
image.Save(@"D:\Temp\1.jpg");
image.Dispose();
代碼2
using (Image image = new Bitmap(this.fileName)) {
foreach (var property in this.propItems) {
image.SetPropertyItem(property);
}
image.Save(@"D:\Temp\1.jpg");
}
唯一的區別是,我怎麼打開的文件。如果我運行的第一塊代碼我得到異常消息
System.Runtime.InteropServices.ExternalException了未處理
的HResult = -2147467259消息=在GDI +發生一般性錯誤。
源= System.Drawing中錯誤碼= -2147467259
我的第二張的代碼只是運行正常,我可以得到正確的輸出。這裏有什麼不同?
在您已經離開使用範圍的第一個示例中,流已關閉。 – jac