我很困惑System.Drawing.Image
和System.Drawing.Bitmap
之間有什麼不同System.Drawing.Image和System.Drawing.Bitmap有什麼區別?
有人可以解釋這兩種類型之間的主要區別嗎?
爲什麼要使用System.Drawing.Bitmap而不是System.Drawing.Image?
我很困惑System.Drawing.Image
和System.Drawing.Bitmap
之間有什麼不同System.Drawing.Image和System.Drawing.Bitmap有什麼區別?
有人可以解釋這兩種類型之間的主要區別嗎?
爲什麼要使用System.Drawing.Bitmap而不是System.Drawing.Image?
Bitmap
繼承:
System.Drawing.Bitmap : System.Drawing.Image
{ }
Image
是一個抽象類,這意味着:
抽象修飾符指示的東西被修改具有丟失或不完全實現。
Bitmap
是密封類,這意味着:
當應用於一類,密封改性劑防止從它繼承其他類。
請參閱以下內容:
Bitmap bmp = new Bitmap(filename); // Works
Image img = new Image(); // The compiler says: "Cannot access internal constructer 'Image' here.
這是因爲Image
並不意味着使用這種方式。 它只提供了Bitmap
類的功能。因此總是使用Bitmap
而不是Image
。
如果我可能會添加 - 不要害怕將一個'Bitmap'類型的變量傳遞給一個將'Image'作爲參數的函數...因爲'Bitmap'是一個'Image',它會接受它。例如,'g.DrawImage(mybitmap,0,0)'對'Bitmap'類型的'mybitmap'有效(在這裏,'g'是類型'Graphics','DrawImage'是'Image'作爲參數)。 – BeemerGuy
我不確定你的意思有什麼區別?
System.Drawing.Image
是System.Drawing.Bitmap
的基類。
System.Drawing.Image
也是抽象類,所以你不能創建它的實例。您必須僅創建System.Drawing.Bitmap
的實例。
Image.FromFile
,Image.BlahBlah ...只返回您的實例Bitmap
。
作爲MSDN文檔明確指出約System.Drawing.Image
:
一個抽象基類,爲位圖提供的功能和圖元文件下降類。
所以你不能比較它們。 System.Drawing.Bitmap
類是抽象類System.Drawing.Image
的具體實現。
圖像是表示柵格圖像的基本抽象類。位圖是基於GDI +的抽象類的一個實現。從Image
http://stackoverflow.com/questions/946926/image-vs-bitmap-class 請檢查這一點... –
從OO的角度來看,位圖'是一個'圖像。 – BeemerGuy