私は色で塗りつぶしたい点のリストを閉じた輪郭を作成しました。境界塗りつぶし再帰アルゴリズムを使用しましたが、配列インデックスは境界線から外れます閉じた輪郭の内側の色と輪郭の外側の色が同じであるため、私はif条件を作成できません。特定の色で塗りつぶしたい輪郭を得るためにはどのメソッドを使用するべきですか。これは私が試したコードです私はJavaで等高線を塗りたい
public class BoundaryFillAlgorithm {
public static BufferedImage toFill = MemoryPanel.Crect;
static Graphics g1 = toFill.getGraphics();
static int seedx = toFill.getWidth()/2;
static int seedy = toFill.getHeight()/2;
public static void BoundaryFill(int x,int y){
Color old = new Color(toFill.getRGB(x, y));
g1.setColor(Color.BLACK);
if(old!=Color.BLACK){
g1.fillOval(x, y, 1, 1);
BoundaryFill(x+1,y);
BoundaryFill(x,y+1);
BoundaryFill(x-1,y);
BoundaryFill(x,y-1);
}
}
ここ
イメージです車輪の再発明なぜここは、メソッド呼び出し
BoundaryFillAlgorithm.BoundaryFill(BoundaryFillAlgorithm.seedx,BoundaryFillAlgorithm.seedy);
かについてとABD一緒に融合矩形が矩形の一辺が三角形の辺であることを意味する三角形のような不規則な形状を –
@NizamAhmed私は[Path](https://docs.oracle.com/javase/7/docs/api/java/awt/geom/Path2D.html)と[GeneralPath](https: //docs.oracle.com/javase/7/docs/api/java/awt/geom/GeneralPath.html)、いくつかのサブパスで構成されるシェイプを構築できます。 –