相关疑难解决方法(0)

对于使用肖像相机应用程序android拍摄的图像,EXIF方向标记值始终为0

我有一个纵向模式的相机应用程序,它从前端和后端相机拍摄照片.我将图像保存在我的SD卡中并尝试找到相应的exif值,它总是给出0.但是我得到了预期的exif方向存储在设备中的其他图像的值(如下载的图片).

我怎样才能解决这个问题 ?谁能帮我吗 ?

这是用于保存图片和查找方向的代码

PictureCallback myPictureCallback_JPG = new PictureCallback() {

    @Override
    public void onPictureTaken(byte[] arg0, Camera arg1) {
        // TODO Auto-generated method stub


                try {
                    File APP_FILE_PATH = new File(Environment.getExternalStorageDirectory()
                            .getPath() + "/Myapp/");
                    if (!APP_FILE_PATH.exists()) {
                        APP_FILE_PATH.mkdirs();
                    }
                    File file = new File(APP_FILE_PATH, "image.jpg");

                    FileOutputStream fos = new FileOutputStream(file);
                    fos.write(arg0);
                    fos.close();
imageFileUri=Uri.fromfile(file);                           getApplicationContext().getContentResolver().notifyChange(
                          imageFileUri, null);
                sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED,
                            Uri.parse("file://"
                                    + Environment.getExternalStorageDirectory())));
                    ExifInterface exif = new ExifInterface(file.getAbsolutePath());
                    int orientation = exif.getAttributeInt(ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_NORMAL);



                } catch (Exception e) {

                }



    }
};
Run Code Online (Sandbox Code Playgroud)

以下是surphace创建和更改函数的代码 …

android android-camera android-orientation

38
推荐指数
1
解决办法
3万
查看次数

三星设备问题中的相机方向

我成功点击图片并将其保存在卡片中.它在所有设备上都运行良好,但问题是当我在三星设备上测试时,然后当我在纵向模式下点击图像时,它默认在横向模式下保存图像.但我没有做任何类型的旋转代码.所以请帮助我.我该怎么解决?

private void takePicture() {

    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

    try {
        Uri mImageCaptureUri = null;
        String state = Environment.getExternalStorageState();
        if (Environment.MEDIA_MOUNTED.equals(state)) {
            mImageCaptureUri = Uri.fromFile(mFileTemp);
        } else {
            mImageCaptureUri = InternalStorageContentProvider.CONTENT_URI;
        }
        intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT,
                mImageCaptureUri);
        intent.putExtra("return-data", true);
        startActivityForResult(intent, REQUEST_CODE_TAKE_PICTURE);
    } catch (ActivityNotFoundException e) {

        Log.d("", "cannot take picture", e);
    }
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {

    if (resultCode != RESULT_OK) {

        return;
    }

    Bitmap bitmap;

    switch (requestCode) {

    case REQUEST_CODE_TAKE_PICTURE:

        startCropImage();
        break;
    case REQUEST_CODE_CROP_IMAGE:

        String …
Run Code Online (Sandbox Code Playgroud)

camera android android-camera samsung-mobile

5
推荐指数
1
解决办法
2712
查看次数