C# 两个getpixel方法名称相同

C# 两个getpixel方法名称相同,c#,getpixel,C#,Getpixel,我试图在c#中打开并读取同一表单上两个单独图像的像素值。 我在阅读以下内容时出错: 错误1类型“imageAlign.Form1”已定义名为 具有相同参数的“GetPixels” 类型C:\Users\jason\Documents\Visual Studio 2010\Projects\imageAlign\imageAlign\Form1.cs 81 26 imageAlign 我想这意味着我有两个同名的方法——GetPixels 如果这只是一个名称,我可以重命名它们来解决问题吗?它不会影响

我试图在c#中打开并读取同一表单上两个单独图像的像素值。 我在阅读以下内容时出错:

错误1类型“imageAlign.Form1”已定义名为 具有相同参数的“GetPixels” 类型C:\Users\jason\Documents\Visual Studio 2010\Projects\imageAlign\imageAlign\Form1.cs 81 26 imageAlign

我想这意味着我有两个同名的方法——GetPixels

如果这只是一个名称,我可以重命名它们来解决问题吗?它不会影响GetPixel功能吗

private Color[,] GetPixels1(string filename)
private Color[,] GetPixels2(string filename)

像这样吗?

这意味着您已经有了具有相同名称和参数的方法。您必须重命名方法以反映其用途,或者重载方法(通过更改参数)


看起来这些方法做的事情几乎相同(因此名称和参数相同),所以,我建议重构它们,但是不同于将它们重命名为
GetPixel1
GetPixel2

我只会对这两个类使用两个不同的名称空间,而不会尝试重命名这些方法-因此名称空间最终。。。 看起来像

myFirstNamecpace.GetPixels(..)
mySecondNamespace.GetPixels(...)
[已编辑-OP问题]


继续GetPixels-我想获取jpeg图像的像素值,并将它们相加为一个整数值。但是jpeg图像有红色、绿色和蓝色通道,对吗?我已在图片框中将其作为位图打开。那么,我需要循环通过每个像素的所有3个通道,还是只获得每个像素的单个值

private Color[,] GetPixels_1(string filename) 
{ 
  Bitmap myImage1 = (Bitmap)pictureBox1.Image; 
  //Bitmap bmp = (Bitmap)Bitmap.FromFile(filename); 
  Color[,] results = new Color[myImage1.Width, myImage1.Height]; 
  for (int y = 0; y < myImage1.Height; y++) 
  { 
    for (int x = 0; x < myImage1.Width; x++) 
    { 
      results[x, y] = myImage1.GetPixel(x, y); 
    } 
  } 
  return results; 
}
private Color[,]GetPixels_1(字符串文件名)
{ 
位图myImage1=(位图)pictureBox1.Image;
//位图bmp=(位图)Bitmap.FromFile(文件名);
颜色[,]结果=新颜色[myImage1.Width,myImage1.Height];
对于(int y=0;y
[经编辑-答复] 要粘贴代码,请使用上面编辑器的{}。所以,我找到了这个,嗯:

使用系统图;
位图img=新位图(“*imagePath*”);
for(int i=0;i
只是好奇,这些方法的实现有什么不同?什么都没有。它们都是为了获得图像中的像素值,但是对于两个不同的图像,如果方法相同,为什么要声明重复的方法?只需调用相同的方法两次,一次调用image1,一次调用image2作为参数。如果我误解了你的意思:我真诚的道歉。请在您的问题中随意添加一些代码,以便继续使用GetPixels-我想获取jpeg图像的像素值,并将它们相加为一个整数值。但是jpeg图像有红色、绿色和蓝色通道,对吗?我已在图片框中将其作为位图打开。那么,我需要循环遍历每个像素的所有3个通道还是只获取每个像素的单个值?[code]private Color[,]GetPixels_1(字符串文件名){Bitmap myImage1=(Bitmap)pictureBox1.Image;//Bitmap bmp=(Bitmap)Bitmap.FromFile(文件名);Color[,]results=新颜色[myImage1.Width,myImage1.Height];for(int y=0;yusing System.Drawing; Bitmap img = new Bitmap("*imagePath*"); for (int i = 0; i < img.GetWidth; i++) { for (int i = 0; i < img.GetWidth; i++) { Color pixel = img.GetPixel(i,j); if (pixel == *somecondition*) { **Store pixel here in a array or list or whatever** } } }