私は混乱していますSystem.Drawing.Image
とSystem.Drawing.Bitmap
System.Drawing.ImageとSystem.Drawing.Bitmapの違いは何ですか?
誰かがこの2つのタイプの主な違いを説明できますか?
System.Drawing.Imageの代わりにSystem.Drawing.Bitmapを使用する理由は?
私は混乱していますSystem.Drawing.Image
とSystem.Drawing.Bitmap
System.Drawing.ImageとSystem.Drawing.Bitmapの違いは何ですか?
誰かがこの2つのタイプの主な違いを説明できますか?
System.Drawing.Imageの代わりにSystem.Drawing.Bitmapを使用する理由は?
Bitmap
継承:
System.Drawing.Bitmap : System.Drawing.Image
{ }
Image
抽象クラスであり、これは意味:
をabstract修飾子が変更される事が欠落または不完全な実装を持っていることを示しています。
Bitmap
が密閉クラスであり、これが意味する:クラスに適用
は、密封された改質剤は、そこから継承他のクラスのを防止します。
は、次を参照してください。
Bitmap bmp = new Bitmap(filename); // Works
Image img = new Image(); // The compiler says: "Cannot access internal constructer 'Image' here.
Image
がこの方法を使用することを意図していないためです。 これは、Bitmap
クラスの機能を提供するだけです。
したがって、Image
ではなく常にBitmap
を使用してください。
私が追加するかもしれない - 'Image'をパラメータとする関数に' Bitmap'型の変数を渡すのを恐れないでください。 '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 +に基づくこの抽象クラスの1つの実装です。 Image
から
http://stackoverflow.com/questions/946926/image-vs-bitmap-class あまりにもこれを確認してください... –
オブジェクト指向の観点からは、ビットマップは 'イメージです。 – BeemerGuy