我無法理解Image
類和Bitmap
類之間的差異。現在,我知道Bitmap
繼承自Image
,但從我所瞭解的兩者都非常相似。任何人都可以對此有所瞭解嗎?圖片與位圖類
Q
圖片與位圖類
57
A
回答
57
Bitmap類是Image類的實現。 Image類是一個抽象類;
Bitmap類包含12個構造函數,它們根據不同的參數構造Bitmap對象。它可以從另一個位圖構建位圖,以及圖像的字符串地址。
11
圖像提供對任意圖像的抽象訪問,它定義了一組方法,可以在邏輯上應用於Image的任何實現。它不受限於任何特定的圖像格式或實現。位圖是封裝窗口GDI位圖對象的圖像抽象類的特定實現。位圖只是圖像抽象類的一個特定實現,它在GDI位圖對象上進行中繼。
例如,您可以通過從Image類繼承並實現抽象方法來爲Image抽象創建自己的實現。
無論如何,這只是OOP的一個簡單的基本用法,它不應該很難被捕獲。
32
這是一個澄清,因爲我已經看到了在代碼中完成的事情,這些代碼實際上令人困惑 - 我認爲以下示例可能有助於其他代碼。
正如其他人之前說的 - 位圖從抽象圖片類
摘要有效地意味着你不能創建一個新的()實例繼承。
Image imgBad1 = new Image(); // Bad - won't compile
Image imgBad2 = new Image(200,200); // Bad - won't compile
但你可以做到以下幾點:
Image imgGood; // Not instantiated object!
// Now you can do this
imgGood = new Bitmap(200, 200);
您現在可以使用imgGood,你會相同的位圖對象,如果你做了以下內容:
Bitmap bmpGood = new Bitmap(200,200);
的這裏的好東西是你可以使用圖形對象
來繪製imgGood對象Graphics gr = default(Graphics);
gr = Graphics.FromImage(new Bitmap(1000, 1000));
Rectangle rect = new Rectangle(50, 50, imgGood.Width, imgGood.Height); // where to draw
gr.DrawImage(imgGood, rect);
這裏imgGood可以任何 Image對象 - 位圖,圖元文件,或其他任何東西,從圖像會繼承!
相關問題
- 1. PNG \圖片 - 定位
- 2. 與圖片
- 3. UIPagecontrol與圖片
- 4. 與圖片
- 5. 與base64,圖片
- 6. 提取圖片從圖片框與handleref
- 7. 圖片與jQuery的圖像?
- 8. 圖片上傳與圖庫
- 9. 圖片不SpannableString與圖像
- 10. 如何修復HTML表格圖片定位與圖片縮放無關
- 11. Android空指針onDraw位圖圖片
- 12. 設置位圖聯繫圖片
- 13. 圖片URL創建位圖android
- 14. C#線程位圖對象/圖片框
- 15. 刪除從位圖圖片的顏色?
- 16. 安卓圖庫圖片位置問題
- 17. 將大圖片加載到位圖中?
- 18. UWP toast通知位圖圖片
- 19. 與干預\圖片
- 20. 圖片庫與Flipview
- 21. Cycle2圖片分類
- 22. Drawing.Line位圖與圖像LockBits
- 23. 色調與位圖的位圖?
- 24. 使用位圖類的位圖插值
- 25. 背景圖片位置 - wordpress
- 26. 我的圖片的位置
- 27. 背景圖片定位
- 28. 圖片URL的位置
- 29. 位置背景圖片
- 30. bootstrap圖片+文字定位?
路人:有一個更好的答案權利[這裏](http://stackoverflow.com/a/19678330/3367144) – kdbanman 2015-10-07 22:02:27
可能重複的[System.Drawing.Image和System.Drawing.Bitmap之間有什麼區別?](http://stackoverflow.com/questions/19678195/what-is-the-difference-between-system-drawing-image-and-system-drawing-bitmap) – 2016-02-22 15:18:33