c++builder 里这样的函数Bitmap->Canvas->FloodFill(i,j,clBlack,fsBorder);C# 怎么处理?请教,我是 C#新手

解决方案 »

  1.   


    //在C#里略有变化,由Bitmap无法直接到Graphics对象(对应Canvas对象)
    Bitmap b = new Bitmap("fileName");
    Graphics g = Graphics.FromImage(b);    //这里就得到相应的Graphics对象了。
    g.FillRegion(...);
    g.FillRectangle(...);  //这也可以
      

  2.   

                    Bitmap bmp = new Bitmap(s.Width, s.Height, gh);
                    Graphics img = Graphics.FromImage(bmp);
                    e.Graphics.DrawImage(bmp, 0, 0);
      

  3.   

    c++builder 中
    FloodFill(i,j,clBlack,fsBorder); 
    实现了以clBlack颜色在i, j坐标为入口的闭合区域进行填充,直到边界为fsBorder结束。完全实现上述方法,C#该怎么做呢?
    我查了一下
    public void FillRegion (
    Brush brush,
    Region region
    )
      

  4.   

    类似那种C代码的种子填充的意思, 给一个入口(i,j)给一个填充颜色,给一个边界即可。
      

  5.   

    Graphics.FillRectange(Brushes.White,x,y,Width,Height);
      

  6.   

    C#中没有VCL中那种FloodFill。不过有一些强是人有一些实现方式,参考一下:
    http://www.codeproject.com/KB/GDI-plus/floodfillincsharp.aspx还有源代码下载的,我就不帖上来了。
      

  7.   


    谢谢, 我去看看,以前用C写过一个 类似的, 迭代方法,后来用了BCB 就一直用FloodFill了。