Re: [心得] 用LockBits處理影像時..

看板C_Sharp (C#)作者時間18年前 (2006/12/31 20:10), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串6/6 (看更多)
※ 引述《euleramon (X'mas)》之銘言: : 如果降寫 image2 = new Bitmap((Image)image1); 也不會有exception.. : 我剛回去檢查一下,發現好像是降的原因: : 如果寫成 image2 = (Bitmap)image1.Clone(); : 然後再將image1的fileStream關掉:myImageFileNameStream.Close(); : 如果再access影像image2,就會產生降的例外訊息 : "Cannot access a closed file" : 所以我感覺 .net 裡的 : Class a = object.Clone() : 好像並不能完全取代 : Class a = new Class(object) : --- : 不曉得對不對".. 不過還是分享看看心得 這個結論有點離譜(汗...) 因為你使用了filestream來開啟檔案, 在image1的Clone同時也把這個file handle 複製了一份到image2. 這種reference的copy一但handle被close掉也連帶會影響到image2 有書的話可以查查reference type, ICloneable, MemberwiseClone ICloneable不是用來取代constructor的, 在使用它的同時必須了解其侷限. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.229.146.44

01/01 09:35, , 1F
原來如此 看來我還有很多要學習.. 感謝分享
01/01 09:35, 1F
文章代碼(AID): #15bwYieS (C_Sharp)
文章代碼(AID): #15bwYieS (C_Sharp)