6

ここに画像の説明を入力してください現在描画されているパスが既存のパスに接触/交差しているかどうかを検出する方法があるかどうかを知りたいです。既存のパスは描画されるか、背景画像の一部になります。現在のパスが完全に描画されたでこれを見つけることができれば、それも役に立ちます。最悪のシナリオでは、2つのパスが接触しているかどうかを確認するために、ピクセルごとにチェックを行うことができますか?

4

2 に答える 2

0

線をリストに保存してから、描画している線をリスト内のすべての線と照合して、交差しているかどうかを確認できます。ここにstackoverflowで線の交点を検出する方法についてたくさんの答えがあります。

    ArrayList<Pair<Pair<Integer,Integer>,Pair<Integer,Integer>>> lineList = new ArrayList<Pair<Pair<Integer, Integer>, Pair<Integer, Integer>>>();

    // add all your lines to the list
    // lineList.add(line);

    // handle the last line
    int startX = 10;
    int startY = 20;
    int endX = 40;
    int endY = 50;

    Pair<Integer,Integer> lineStart = new Pair<Integer, Integer>(startX, startY);
    Pair<Integer,Integer> lineEnd = new Pair<Integer, Integer>(startX, startY);
    Pair<Pair<Integer,Integer>,Pair<Integer,Integer>> lastLine = new Pair<Pair<Integer, Integer>, Pair<Integer, Integer>>(lineStart, lineEnd);

    for(Pair<Pair<Integer,Integer>,Pair<Integer,Integer>> l: lineList){
        // if "lastLine" intersects "l" do you stuff
    }
于 2012-04-12T09:10:25.973 に答える
0

パスを使用して線を定義し、android.graphics.Regionをそのパスに設定します。後で、すべての領域が交差するかどうかに関係なく、すべての領域を相互にチェックします。

region1.op(region2, Op.INTERSECT);
于 2012-04-12T09:14:46.027 に答える