2

AndroidプロジェクトでJavaのBufferedImageを使用しています。このプロジェクトでは、ユーザーは画像のごく一部を選択できます。

例:建物のある公園の画像がある場合。ユーザーは草の小さな選択を行うことができ、Androidプログラムはこの選択の座標を保存する必要があります。

これをサポートする機能がBufferedImageにあるかどうか疑問に思いました。ユーザーが画像の小さな部分を選択できるようにし(タッチスクリーンを使用)、画像内のそれらの場所から座標を取得します。そうでない場合、他に何ができますか?

4

1 に答える 1

2

クリックインのピクセル位置(x、y)(つまり、カーソル位置)をSQLiteデータベースに保存でき、その周りのすべての値を保存する必要はありません。このピクセルの周りにあるクリック(許容値を含む)を確認する場合は、次のコードが役立ちます。

    int[] xyReceivedPixel = { 15, 20 };
    int[] xyOriginalPixel = { 30, 15 };
    int toleranceValue = 30;

    boolean status = (xyReceivedPixel[0] < xyOriginalPixel[0] + toleranceValue 
            || xyReceivedPixel[0] > xyOriginalPixel[0] - toleranceValue)
            && (xyReceivedPixel[1] < xyOriginalPixel[1] + toleranceValue 
                    || xyReceivedPixel[1] > xyOriginalPixel[1] - toleranceValue);

    System.out.println(status);

ここで、xyOriginalPixelはデータベースに保存されている元のピクセルポイントであり、xyReceivedPixelは別のクリックが行われたときに取得されたピクセルポイント、またはそれと比較されるピクセルポイントです。最大差が。の近くxyReceivedPixelにあるかどうかがチェックされます。xyOriginalPixeltoleranceValue

于 2013-02-01T17:56:30.890 に答える