比如在任一图片上,指定(x,y)为中心,怎么获取:
1、半径为r的圆的像素值、圆的填充区域的像素值?
2、半径为r、R的两圆相减得到的圆环区域上的像素值?

解决方案 »

  1.   

    创建一个GraphicsPath和Region
    GraphicsPath path = new GraphicsPath();
    path.AddEllipse(100, 100, 200, 200);//圆心为150,150半径为50的圆
    Region r = new Region(path);
    遍历圆的外接矩形区域
    for(int x = 100,x<200;x++)
    {
        for(int y = 100,y<200;y++)
        {
            if(r.Intersect(new Rectangle(x,y,1,1))
            {
                //这就是圆内的点,获取像素即可。坐标,颜色,都有了。
            }
        }
    }
      

  2.   

    谢谢楼上,不过如果我是直接操作图像数据(即图像数值矩阵),不是GetPixel取像素,该怎么办?