// 入口
public void fill(BufferedImage img, int x, int y, int newRGB) {
int oldRGB = img.getRGB(x, y);
if (oldRGB != newRGB) fill(img, x, y, oldRGB, newRGB);
}
// 递归函数
private void fill(BufferedImage img, int x, int y, int oldRGB, int newRGB) {
// 1、检查本点是否为oc,不是则直接return;
if (img.getRGB(x, y) != oldRGB) return;
// 2、将本点填充为nc;
img.setRGB(x, y, newRGB);
// 3、依次遍历上下左右4个点,并递归调用本函数;
// 上
if (y>0) fill(img, x, y-1, oldRGB, newRGB);
// 下
... 略
}