2011-04-06 65 views
0

嗯,我不明白它是怎么来的Image类有一个位图类型的构造函数?我的意思是,我可以这样做:图像类和位图类型的构造函数?

Image sprite=new Bitmap(...) 

为什么?它因为位图是从图像派生的?

+2

总之一句话:是的。 – 2011-04-06 19:25:21

回答

1

是的,因为Image是抽象的,但Bitmap,其中扩展Image不是。你可以很轻松拥有您的代码做这个:

Bitmap sprite = new Bitmap(); 

之所以Image是抽象的,是因为它也可以代表非基于像素的图像。

1

为什么?它因为位图是从图像派生的?

嗯,是的,that's what MSDN says(假设System.Drawing命名空间):

[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public sealed class Bitmap : Image 

但它不是Image类具有Bitmap()构造。由于Bitmap继承自Image,因此Bitmap的所有实例也都是Image的实例。