Bitmap
всегда является Image
, но не каждый Image
является Bitmap
;или в терминах класса:
public sealed class Bitmap : Image {...}
Метод в первом фактически унаследован от Image
- это действительно вызов:
public static Image FromFile(string path)
, и вынужно утверждать, что это Bitmap
, чтобы вставить его в Bitmap
переменную.В конце концов, это может быть другой поддерживаемый тип Image
- не просто растровое изображение.Предположительно, ваш path
указывает на растровое изображение.
Если бы у вас было:
Image img = Image.FromFile(path); // or var img = Image.FromFile(path);
...
Graphics.DrawImage(img,x,y);
, тогда жизнь была бы более ясной.просто хочет, чтобы Image
- любой Image
сделал;Bitmap
хорошо ...