专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > DotNet Exception

System.ComponentModel.Win32Exception,PictureBox对图形尺寸的限制是多少?

发布时间:2011-06-26 20:26:30 文章来源:www.iduyao.cn 采编人员:星星草

在窗口中放一个PictureBox控件,试着设置其Size属性,大了就出错(比如宽30000,高10000)。如果你是在运行的时候动态设置(或调入图形自动设置),肯定出错,而且你根本无法用Try来捕捉这个错误(System.ComponentModel.Win32Exception)。

程序无法继续,做出的程序不实用,一显示大图就出问题。

外国人也提了这个问题http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=521147&SiteID=1。不过他以为是WMF文件的问题,其实与图形无关,是PictureBox的问题,显然是在其内部的Paint事件中对内存申请出了问题(System.Windows.Forms.DibGraphicsBufferManager.CreateComptiableDIB那里)

我用的是VS2003,不知道有没有朋友能否用VS2005试验一下,要是VS2005不出问题,我就换了。
 

------解决方法--------------------------------------------------------
用vs2005试了,如lz所述。
------解决方法--------------------------------------------------------
看来的确如此,不过问题应该在于控件的Image对象,直接建立一个超大尺寸的Bitmap也会出错。

但我不明白的是lz为什么要建立如此大的PictureBox,现在任何显示设备的分辨率也不过一两千点,对超大图像应该分块动态装载显示于一个适于屏幕大小的PictureBox内。难道只是为图方便而想一次加载吗?
------解决方法--------------------------------------------------------
呵呵也许是电子显微镜下的图像。

自己做个类型吧,继承Image的标准接口,但是内部是把图像用一组小图像拼起来。

    
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: