Re: [心得] 用LockBits處理影像時..
※ 引述《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
討論串 (同標題文章)
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章
7
20