0

この問題は何日も私を悩ませてきましたが、一体なぜそれが起こっているのか分かりません. 顔を検出するメソッドがあります。顔が検出された場合、メソッドは顔に沿ってキャンバスに長方形を描画します。

その部分はうまく機能します。

問題は、xml ファイルの image_view に表示すると、画像ビューの左端中央に表示され、幅が fill_parent の中央ではなく、ボックス内に表示されることです。

可能な回避策を考えました:ビットマップをビットマップドローアブルとして設定しますが、キャンバスはビットマップのみを描画するため、中央にビットマップドローアブルを取得できますが、その周りに赤いボックスはありません。

ビットマップ ドローアブルのテストをコメントアウトし、現在の状態のままにしました... image_view の左端にある xml にのみ表示されます。ぜひ参考にしてみてください!

コードが少し長いので、pastebin に投稿しました (ビュー フリッパー内で線形レイアウトも使用しています)。

方法:

http://pastebin.com/KQ5Pmx45

xml:

http://pastebin.com/jbt3j40h

私は顔を検出することができ、ビットマップドローアブルをイメージボタンに貼り付けることができ、うまく中央に配置できるので、問題が解決できない場合、ビットマップドローアブルの周りに四角形を取得する方法はありますか?

ありがとう!

編集:私はそれを RelativeLayout に実装しようとしましたが、それでも同じことをしています:

http://pastebin.com/daqMdXjB

Could this code be getting my way of centering?

    public void processCameraImage(Intent intent) {
        mFlipper.setDisplayedChild(1); // 1 == your second layout
        mThePicture = (ImageView) findViewById(R.id.image_view); //
        cameraBitmap = (Bitmap) intent.getExtras().get("data");

        mThePicture.setImageBitmap(cameraBitmap);
        detectFaces();

    }
4

1 に答える 1

1

Imageview タグ android:scaleType="fitCenter" または android:scaleType="centerInside" または android:scaleType="center" sclaetype attr docで使用します

私はあなたの問題を正しく理解したと思います。

于 2010-11-23T22:01:57.007 に答える