1

カスタムカメラアプリを作成し、カメラをクリックした後に画像ビューに画像を表示しています。しかし、ここで私は、キャプチャした画像が常に方向を変えて設定されるという問題に直面しています。

つまり、カメラをポートレートとして撮影しているときに写真をキャプチャすると、画像がポートレートとして設定されず、向きが変わります。

これがカメラのクリックコードです:-

@Override
        public void onPictureTaken(byte[] data, Camera camera) {

            //here we write the code for saving the picture onto the sdCard


            File pictureFileDir = getDir();

            //to check whether directory exists or not!!
            if (!pictureFileDir.exists() && !pictureFileDir.mkdirs()) {

                //Log.d(Constants.DEBUG_TAG, "Can't create directory to save image.");
                Toast.makeText(Irant_Custom_cameraApplication.this, "Can't create directory to save image.",
                        Toast.LENGTH_LONG).show();
                return;

            }

            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyymmddhhmmss");
            String date = dateFormat.format(new Date());
            photo_file="Picture_"+date+".jpg";

            photo_FileName = pictureFileDir.getPath()+File.separator+photo_file;

            picture_file = new File(photo_FileName);

            FileOutputStream outStream = null;
            try{
                Toast.makeText(getApplicationContext(), "Image captured!", Toast.LENGTH_LONG).show();
                outStream = new FileOutputStream(picture_file);
                outStream.write(data);
                outStream.close();

                String imgpath = photo_file;
                System.out.println("Path for the image*********************"+photo_file);
                SignupDetails.imagePath=imgpath;

            }


            catch (Exception e) {

                Log.d("Image save error :", e.getMessage());    
            }
        }
    };
4

1 に答える 1

0

各デバイスで常に同じように実装されるとは限りません。自動的に回転するものもあれば、そうでないものもあります。最善の方法は、ファイルのEXIFデータを確認することだと思います。それが最善の策です。

于 2012-08-23T21:45:31.330 に答える