0

カメラを使用して写真を撮り、それをプライベートフォルダーに保存するプログラムを実行しています。そこから画像を取得してグリッドビューに表示します。グリッドビューをクリックすると、フルスクリーン画像が表示されます。私が直面している問題は、カメラが縦向きモードのときの画質が完璧であることですが、カメラが横向きモードの場合、ストレッチされた画像が表示されます。

4

1 に答える 1

1

こんにちは、以下のコードを見てください。キャプチャした画像を保存する前に、次のプロセスを実行してください。縦向きモードで画像を保存します。これがあなたを助けることを願っています。

 int rotation = -1;
 rotation = ((WindowManager)getSystemService(Context.WINDOW_SERVICE))
                .getDefaultDisplay().getOrientation();



    Matrix rotator = new Matrix();
    switch (rotation) {
    case (Surface.ROTATION_0):
        break;
    case (Surface.ROTATION_90):
        rotator.postRotate(270);
        break;
    case (Surface.ROTATION_180):
        rotator.postRotate(180);
        break;
    case (Surface.ROTATION_270):
        rotator.postRotate(90);
        break;


    // screen_{width,height} are applied before the rotate, so we don't
    // need to change them based on rotation.
    bmp_ss = Bitmap.createBitmap(bmp_ss, 0, 0, screen_width, screen_height, rotator, false);
于 2013-04-01T11:47:33.270 に答える