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

    我们都知道抽象类是不能被实例化的,可是在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.一定要仔细求证,千万不能草草了事。

时间: 2024-11-01 00:58:31

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

jsp truts-<div class="error_mes">${message}</div>

问题描述 <div class="error_mes">${message}</div> ${message}什么意思?${message}通常在哪实现? 解决方案 ${message}是java中el表达式 可以获取域中的值 四大作用域 application request session pageContext 建议百度看下el表达式就ok了 解决方案二: jsp中的EL表达式,具体看下这里面.http://blog.csdn.net/chinacshar

ajax-兄弟伙我的OnSuccess=&amp;amp;quot;afterLogin&amp;amp;quot;咋调用不起

问题描述 兄弟伙我的OnSuccess="afterLogin"咋调用不起 兄弟伙我的OnSuccess="afterLogin"咋调用不起,直接返回return Content类容到页面 @{ Layout = null; } <!DOCTYPE html> 网上超市管理系统 </p> <pre><code> //就是执行controller方法以后执行的方法 function afterLogin(data) {

safari-MacBook的Safari下type=&amp;amp;quot;submit&amp;amp;quot;点击后显示不出div

问题描述 MacBook的Safari下type="submit"点击后显示不出div 如题,按钮点击的时候在window浏览器这个红色背景的div会一闪而过,但是在macbook的Safari中什么效果都没有,return false的时候div可以显示出来,但表单还怎么提交啊,return true时页面中div已经加载变成block了,感觉是还没来得及被浏览器渲染页面就刷新了一下,有没有什么办法可以让它有一闪而过的效果? html: <div id="divTes

jquery mobile中使用data-role=&amp;amp;quot;dialog&amp;amp;quot;弹出对话框的问题

问题描述 jquery mobile中使用data-role="dialog"弹出对话框的问题 如图,当页面除了一个"page"和"dialog"还有其它的 容器时,对话框后的背景就会显示没有样式的这个容器内容, 这是为什么呢,怎样才能让背景中不显示任何东西 解决方案 试试把背景内容放到另一个page中 你说的data-role =dialog 我没注意到 这个属性... 另外 可以看看 . data-role=popup http://www.

java web-&amp;amp;lt;c:forEach items=&amp;amp;quot;${salesProducts }&amp;amp;quot; var=&amp;amp;quot;pro&amp;amp;quot;&amp;amp;gt;

问题描述 <c:forEach items="${salesProducts }" var="pro"> ${pro.goodsName}特价:¥${pro}/c:forEach pro的bean类属性都设了getter和setter方法,但是${pro.goodsName}没值,${pro}却有值 解决方案 检查一下goodsName属性名称有没写错. 解决方案二: private String goodsName;public String getG

android-在toast上显示 &amp;amp;quot;message&amp;amp;quot; 和 &amp;amp;quot;contact&amp;amp;quot;

问题描述 在toast上显示 "message" 和 "contact" 我想在程序中设置一个toast,它可以显示:Your message ""message"" is sent to ""contact"" .我用的以下的代码: if (phoneNo.length()>0 && message.length()>0) Toast.makeText(ge

Request.ServerVariables[&amp;amp;quot;HTTP_REFERER&amp;amp;quot;]有时候获取不到,怎么回事?

问题描述 我有一段js部署在各个页面上负责采集信息Stat.js---------------------------------------if(typeof(StatImage)=='undefined'){StatImage=newImage;varrefurl=encodeURIComponent(Stat_GetReferrer());StatImage.src="Stat.ashx?r="+refurl+"&sw="+(screen.width)

关于&amp;amp;quot;&amp;amp;lt;&amp;amp;quot;和&amp;amp;quot;&amp;amp;gt;&amp;amp;quot;等符号的显示问题

问题描述 大家都知道<=<>=>'="等等...如果我的数据库某记录是<fontsize="5">内容</font>浏览器上显示也一样,没有对<font>进行解析,查看源代码发现<都变成了<,但我想浏览器能解析<font>,如何做?我用的是struts2+mysql其实我想开发类似FCKEditer的文本编辑器组件,对能对部分文本进行改变大小操作并保存到数据库,显示的时候按所保存的样式进行显示

gps-link环境下制作一款《订餐软件》,如何动态显示外卖快递倒计时?如何对接&amp;amp;quot;GPS&amp;amp;quot;?

问题描述 link环境下制作一款<订餐软件>,如何动态显示外卖快递倒计时?如何对接"GPS"? link环境下制作一款<订餐软件>,如何动态显示外卖快递倒计时?如何对接"GPS"? 解决方案 不知道你的环境呢?如果是网页,可以用定时器哦. gps如果是html5,可以参考:http://www.w3school.com.cn/html5/html_5_geolocation.asp 解决方案二: 打开位置跟踪功能即可 解决方案三: 这个很简单