C# I';“我收到错误消息”;参数无效";关于位图变量和can';我不明白为什么
在form1中,我想检查比较是否为真,并在messagebox和我的日志文件中显示它C# I';“我收到错误消息”;参数无效";关于位图变量和can';我不明白为什么,c#,error-handling,C#,Error Handling,在form1中,我想检查比较是否为真,并在messagebox和我的日志文件中显示它 if (ImagesComparion1.ImageComparison(File1, file2, image_scan_text_rect) == true) { 代码继续 然后在底部,在将文件复制到新位置之前,我想检查它是否在复制文件,同时ImagesComparion1.ImageComparion1.Image
if (ImagesComparion1.ImageComparison(File1, file2, image_scan_text_rect) == true)
{
代码继续
然后在底部,在将文件复制到新位置之前,我想检查它是否在复制文件,同时ImagesComparion1.ImageComparion1.ImageComparison(文件1、文件2、图像扫描文本)返回true或false
所以我做了:
bool testComparison = ImagesComparion1.ImageComparison(File1, file2, image_scan_text_rect);
MessageBox.Show("testComparison ImageComparison returned " + testComparison);
Logger.Write("testComparison ImageComparison returned " + testComparison);
我用布尔来判断它是真是假
但是当它到达行bool testComparison=ImagesComparion1.imagecomparion1时(File1,file2,image\u scan\u text\u rect);
然后输入类和函数ImagesComparion1.ImageComparison我收到错误消息说“参数无效”
所以我在这行使用了一个断点bool testcomparion1.imagecomparion1(File1,file2,image\u scan\u text\u rect);
并看到其进入图像比较1。图像比较:
public bool ImageComparison(Bitmap Image1, Bitmap Image2, Rectangle Rect)
{
Logger.Write("Rect >>>> " + Rect.ToString());
int x;
int y;
bool different = false;
textbox3 = Rect.ToString();
//if pictures are not of same size, return that they are different
if (Image1.Width != Image2.Width || Image1.Height != Image2.Height)
{
如果(Image1.Width!=Image2.Width | | Image1.Height!=Image2.Height)一行出现错误
这是一个例外:
System.ArgumentException was unhandled by user code
Message=Parameter is not valid.
Source=System.Drawing
StackTrace:
at System.Drawing.Image.get_Width()
at WindowsFormsApplication1.ImagesComparison.ImageComparison(Bitmap Image1, Bitmap Image2, Rectangle Rect) in D:\C-Sharp\Download File\Downloading-File-Project-Version-012\Downloading File\ImagesComparison.cs:line 50
at WindowsFormsApplication1.Form1.Client_DownloadFileCompleted(Object sender, AsyncCompletedEventArgs e) in D:\C-Sharp\Download File\Downloading-File-Project-Version-012\Downloading File\Form1.cs:line 1769
InnerException:
ImagesComparison.cs中的第50行是错误来源的if(Image1.Width!=Image2.Width | | Image1.Height!=Image2.Height)
Form1.cs中的第1769行是:bool testComparison=ImagesComparion1.imagecomparion1.ImageComparison(File1,file2,image\u scan\u text\r)
我不知道它为什么在这行给我错误。我只想得到一个布尔变量,这样我就能知道它是真是假
谢谢。您的文件中有一个(或两个)是空的吗?请确保您确实正确创建/加载了位图。请仔细检查路径,并确保您可以在编辑器中打开图像。