好,(我),我设法调查的一个小时后,固定在我身边这个问题。
在VB.NET(v4。0 VS-SP1),我发现一个错误,其中编译器不会引发错误,也不会产生错误:智能感知:
注意下面,如果我在函数中添加以下行(程序中的任何位置,Class/Module/Form在/ etc):
MyGraphics.DrawImage(OriginalImage.Clone(New System.Drawing.Rectangle(ClipX1, ClipY1, ClipW, ClipH), Drawing.Imaging.PixelFormat.Format24bppRgb), 0, 0, TempWidth, TempHeight)
编译器甚至打功能之前,在调试时,它甚至没有达到行(徒添functoin抛出这个错误,使编译器被吓得连进入的这个功能)。
我从我的代码中的另一个函数复制了一行,现有的函数可以正常工作,但是新函数没有。说实话很令人震惊。现在
,我又反复检查,发现病因,为OriginalImage
对象定义为在正在操作的代码Bitmap
,但是,我在一个没有工作将它定义为一个Image
。
我进一步去了上面的代码行,并检查上面的“克隆”功能所采用的参数/参数,Bitmap
实例中的参数具有正确的参数和3个变形(即3个不同的参数组可以调用该函数),但是,对于Image
类型实例,Clone
不带参数!
我是相当shoekd看到这个,问题是,我没有得到任何错误,也没有在IntelliSense警告,也没有编译错误,代码编译好,但功能无法执行,我相信这是.NET中的一个bug(Ahem ... a Feature)。
修复它是将system.drawing.Image
更改为system.drawing.Bitmap
,代码后来工作。
我希望这有助于
亲切的问候 海德
检查项目引用,这对我来说 – 2012-03-02 00:23:22