1

地域がカバーする総面積を知りたいです(たとえば、この面積の二重積分など)。そのための方法が見つかりません。ピクセルごとに移動する必要があるのでしょうか。前もって感謝します!

4

2 に答える 2

2

RegionIteratorを使用して、返された長方形の面積を合計できるはずです。

理由:Andriodのドキュメントは、ブール演算がリージョンで実行されると、結果のリージョンは、目的の結合を持つ重複しない長方形の新しいセットになることを示しています。つまり、A - BAとBが長方形である場合、結果として0、1、2、3、または4つの長方形が生成される可能性があります。

私はテストしていませんが、Android xRefサイトのソースは、検証された領域がオーバーラップのない長方形で構成されていることを示しています。

于 2012-08-19T18:02:37.373 に答える
1

どうやら、私はあなたの問題と同じ問題を抱えているようです。

それが「本当の」解決策であるかどうかはわかりません。しかし、私は自分のコードを投稿します。値は問題ないようです。

private void calculateArea(Region region) {

        RegionIterator regionIterator = new RegionIterator(region);

        int size = 0; // amount of Rects
        float area = 0; // units of area

        Rect tmpRect= new Rect(); 

        while (regionIterator.next(tmpRect)) {
            size++;
            area += tmpRect.width() * tmpRect.height();
        }

        log.d("Rect amount=" + size);
        log.d("Area Size / units of area=" + area);
    }

}

私の問題は次のとおりです。描画されたパスの領域サイズを取得したい。パスのタッチを認識するために、リージョンも追加しました。

于 2013-06-26T17:30:47.140 に答える