gpt4 book ai didi

c# - 为什么 Bitmap.FromFile() 返回 Image 类型的对象

转载 作者:行者123 更新时间:2023-12-03 22:01:27 25 4
gpt4 key购买 nike

这是一个非常简单的问题,一直困扰着我,因为几乎每次我编写代码时,我都会被这一行绊倒。

Bitmap image = Bitmap.FromFile("c:\img.jpg");

我总是直观地假设从 X 类中名为 FromFile 的静态方法返回的对象的类型为 X

我意识到,如果我愿意,我显然可以转换回 Bitmap,并且我确信我错过了一些东西,但根据标题,为什么 Bitmap.FromFile(Path) 返回图像而不是位图?这只是一个考虑不周的设计还是有更根本的原因在这个实例中返回父类?

最佳答案

FromFileImage 的静态方法,它是 Bitmap 的基本类型。即使您真正调用的是Image.FromFile,您也可以通过Bitmap 访问静态方法。我想 Bitmap 可以用它自己返回的 Bitmap 隐藏(或隐藏)Image 上的 FromFile,但无论出于何种原因,它都没有这样做。

Image还有其他子类型,例如 Metafile (带有 .wmf 扩展名的图像)。这里的目的是实现多态行为 - 您可以使用 FromFile 加载图像,而不关心使用什么底层实现来处理图像。

关于c# - 为什么 Bitmap.FromFile() 返回 Image 类型的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25999225/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com