C#怎么去掉扫描后的图片的空白部分,再网上找了好久,多没找到。望各位帮忙,谢谢

解决方案 »

  1.   

     private void button2_Click(object sender, EventArgs e)
            {
                //创建图像 
                Bitmap image = new Bitmap("c:\\1.JPG");
                //获取图像的BitmapData对像 
                BitmapData data = image.LockBits(new Rectangle(0, 0, image.Width, image.Height), ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);
                //循环处理 
                int k = 0;
                int h = 0;
                int w = 0;
                unsafe
                {
                    byte* ptr = (byte*)(data.Scan0.ToPointer ());
                    for (int i = 0; i < data.Height; i++)
                    {
                        h = h + 1;
                        for (int j = 0; j < data.Width; j++)
                        {
                            w = w + 1;
                          int a  =Convert .ToInt32 ( ptr[0].ToString ());
                         int b =Convert .ToInt32 ( ptr[1].ToString());
                          int c =Convert .ToInt32 ( ptr[2].ToString());
                          if (a < 150 && b < 150 && c < 150)
                          {                      }
                          else
                          {
                             
                              if (k == 0)
                              {
                                  this.textBox1.Text =a.ToString();
                                  this.textBox2.Text = b.ToString();
                                  this.textBox3.Text = c.ToString();
                                  this.textBox4.Text = h.ToString();
                                  this.textBox5.Text = w.ToString();
                                  k = k + 1;
                              }
                          
                          }
                            ptr += 3;
                        }
                        ptr += data.Stride - data.Width * 3;
                    }
                } 哪里错了。??怎么取出的值不对。