查找出图片里所有黑色的颜色的坐标吗?(最好能应用在Web上)
我现在只可以做到用鼠标点击图片获取图片坐标,如果能够自动查找出来就好了,使用VC的人告诉我可以在内存里查找,我想C#可能出可以吧.大家有什么好的方法,请告之.

解决方案 »

  1.   

    应该是可以,GDI吧,接触比较少一些。
      

  2.   

    找是可以找的
    System.Drawing.Bitmap
      

  3.   

    这个很简单吧~~看看图形对象~~
    读取一图片成为图片对象,对象就有方法可以获取像素的值(就是颜色)~~看看System.Drawing命名空间下的对象吧~~~
    像Bitmap,Image,Color等等....
      

  4.   

    System.Drawing.Bitmap bmp = System.Drawing.Bitmap.FromFile("a.bmp");
    for (int i = 0; i < bmp.width; i++)
    {
      for (int j = 0; j < bmp.height; j++)
      {
        Color c = bmp.GetPixel(i, j);
        if (c = Colors.Black) //你的处理代码
      }
    }
      

  5.   

    参考一下这个代码吧。根据你的实际需要修改返回值和相关代码。        public static DataTable Ki1381GetColorPoints(Bitmap bmp, Color c)
            {            DataTable dt = new DataTable();
                dt.Columns.Add("Left");
                dt.Columns.Add("Top");            int w = bmp.Width;
                int h = bmp.Height;            BitmapData src = bmp.LockBits(new Rectangle(0,0,w,h), ImageLockMode.ReadOnly, PixelFormat.Format24bppRgb);            unsafe
                {
                    byte* p = (byte*)src.Scan0.ToPointer();                for (int y = 0; y < h; y++)
                    {
                        for (int x = 0; x < w; x++)
                        {                        if (p[0] == c.B && p[1] == c.G && p[2] == c.R)
                            {
                                // 根据你的实际需要修改这段代码                            DataRow dr = dt.NewRow();
                                dr["Left"] = x.ToString();
                                dr["Top"] = y.ToString();
                                dt.Rows.Add(dr);                           
                            }                        p += 3;
                        }                    p += src.Stride - w * 3;
                    }
                }            bmp.UnlockBits(src);            return dt;
            }
      

  6.   

    循环GetPixel吧,慢也慢了,你需要的是得到那一大落坐标,循环次数摆那里,快也快不到哪里去了. 难道直接用OpenGL或Direct2D这样的高档东西对付静态图片?