关于Image newImage = Image.FromFile("SampImag.jpg");的问题

简介:     我们都知道抽象类是不能被实例化的,可是在MSDN上关于Image类有一个示例,中间就有这么一句Image newImage = Image.FromFile("SampImag.jpg");一脸茫然啊,抽象类不能被实例化啊,那newImage是啥,而且FromFile()方法的返回值就是抽象类Image啊。     于是写了个Demo,Debug一下发现是这样的:    

    我们都知道抽象类是不能被实例化的,可是在MSDN上关于Image类有一个示例,中间就有这么一句Image newImage = Image.FromFile("SampImag.jpg");一脸茫然啊,抽象类不能被实例化啊,那newImage是啥,而且FromFile()方法的返回值就是抽象类Image啊。

    于是写了个Demo,Debug一下发现是这样的:


    其实FromFile()方法返回的真正类型是Bitmap(继承自Image),这样一来就明白了,newImage并不是抽象类Image的实例。

    然而又有了新的问题:为什么指定的类型是Image实际上却是一个Bitmap实例呢?

    直接去看Framework类库的源代码:http://referencesource.microsoft.com/#System.Drawing/commonui/System/Drawing/Image.cs,f7cc7221ba00597a,references

最重要的一部分在这:


    这样就明白了,实际上真正返回的类型是Bitmap或者Metafile。

总结:

1.其实解决这个问题的不是我自己,求助于论坛才有这么多收获,帮忙的两位都是大神可以去求助帖上找到他们。原求助帖地址:http://bbs.csdn.net/topics/392007783

2.一定要仔细求证,千万不能草草了事。







目录
相关文章
|
2月前
|
前端开发
img-rounded
【10月更文挑战第18天】
19 5
|
4月前
|
Python
UserWarning: Palette images with Transparency expressed in bytes should be converted to RGBA images
本文提供了解决PIL库中"Palette images with Transparency"警告的方法,通过将图片转换为'RGB'模式来消除透明通道的问题。
UserWarning: Palette images with Transparency expressed in bytes should be converted to RGBA images
|
5月前
|
Python
已解决:_tkinter.TcLError: couldn’t recognize data in image file “Image/nakamuraan.gif”
已解决:_tkinter.TcLError: couldn’t recognize data in image file “Image/nakamuraan.gif”
195 1
|
JavaScript
image-conversion
image-conversion
218 0
|
缓存 前端开发 JavaScript
浅析data:image/png;base64的应用
浅析data:image/png;base64的应用
909 0
浅析data:image/png;base64的应用
|
计算机视觉
【事件图像】RGB Image conversion to event Image
【事件图像】RGB Image conversion to event Image
【事件图像】RGB Image conversion to event Image
|
数据挖掘 TensorFlow 算法框架/工具
Load and preprocess images
This tutorial shows how to load and preprocess an image dataset in three ways. First, you will use high-level Keras preprocessing utilities and layers to read a directory of images on disk. Next, you will write your own input pipeline from scratch using tf.data. Finally, you will download a dataset
214 0