0
此問題特定於System.Drawing.Bitmap。C#位圖記住它來自哪裏?
考慮這種情況:我創建了一個位圖,像這樣
public Bitmap GetImage(string sourceImage)
{
//sourceImage contains something like "C:\\Users\\my.name\\path\\to\\image.jpg"
//error/valid filename checking omitted in this example
Bitmap img = new Bitmap(sourceImage);
return img;
}
現在我的代碼都和做的事情與Bitmap
。之後,代碼的無關部分決定使用該圖像完成該操作,並且不需要再保留Bitmap
對象。但是,有可能再次需要它,所以它想要記住什麼是sourceImage
,以便如果它確實需要它,它就知道如何重新創建它。這主要是由於記憶力;存儲路徑字符串比存儲(可能)較大的圖像佔用更少的空間。
Bitmap
是否記得它來自哪裏,或者它是否必須帶着這些信息?
我認爲只是分配sourceImage
到Tag
財產,但是我使用Tag
其他的事情,我不想過於複雜了。我希望源信息仍然可以幫助我省去麻煩。
不 - https://referencesource.microsoft.com/#System.Drawing/commonui/System/Drawing/Image.cs,b2315d1ff08bc616和令人討厭的類是密封的,所以你不能創建派生類用ImagePath作爲屬性 – pm100
爲什麼不使用標籤?製作你自己的班級,並在那裏放置一個實例,聽起來就像你想要的那樣。 – DavidG
@DavidG我正在使用標籤來傳送一些其他信息。如果我修改它以攜帶更多的信息,那麼由此產生的重構將是相當大的麻煩。如果可能,我希望避免這種情況。 – Cody