问题描述
我的程序处理与以下图像类似的图像:
我正在尝试实现一个系统,其中生成器选择一个随机像素,如果它是上面显示的中等灰色,请用不同的颜色填充该像素的整个“房间”。除了BufferedImage之外,我无法访问其他任何基础形状信息,我也没有任何Graphics2D形状信息。。我想到了一个想法,其中每个像素的x和y轴都是“像素行军”的方向,直到整个房间都满了,如下面的理论伪代码所示:
originalX = x;
originalY = y;
while (getPixel(x,y) == roomColor) {
setPixel(x,y,newColor);
x--;
}
x = originalX
y = originalY
while (getPixel(x,newColor);
x++;
}
// same but y--;
// same but y++;
这有一些明显的问题,(因为它尚未填充整个正方形),但是您可以看到这将是确定矩形边界然后填充它的一种方式。 但是,这里的问题是房间不是全部都是矩形,并且像素行进不能总是与其他形状一起使用。
基于像素,我如何“填充”类似于油漆中填充形状的复杂形状?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)