从相机捕获图像方向问题

时间:2014-07-24 19:29:51

标签: android

我正面临一个问题,从相机拍摄图像,它正在横向显示图像,即使我以纵向捕捉该图像,然后我在网上找到了代码。但是我觉得这个代码有些问题,它有时候不起作用(在风景中显示图像)。那有什么不对

private void adjustImageOrientation() 
    {
        ExifInterface exif;
        int rotate = 0;

        try 
        {
                exif = new ExifInterface(filepath);
                int exifOrientation = exif.getAttributeInt(
                        ExifInterface.TAG_ORIENTATION,
                        ExifInterface.ORIENTATION_NORMAL);

                switch (exifOrientation) 
                {
                case ExifInterface.ORIENTATION_ROTATE_90:
                    rotate = 90;
                    break;

                case ExifInterface.ORIENTATION_ROTATE_180:
                    rotate = 180;
                    break;

                case ExifInterface.ORIENTATION_ROTATE_270:
                    rotate = 270;
                    break;
                }


            if (rotate != 0) 
            {
                int w = bitmap.getWidth();
                int h = bitmap.getHeight();

                // Setting pre rotate
                Matrix mtx = new Matrix();
                mtx.preRotate(rotate);

                // Rotating Bitmap & convert to ARGB_8888, required by tess
                try
                {
                    bitmap = Bitmap.createBitmap(bitmap, 0, 0, w, h, mtx, false);       
                }
                catch(OutOfMemoryError e)
                {
                    e.printStackTrace();
                    //image = Bitmap.createBitmap(image, 0, 0, w/2, h/2, mtx, false); 

                }

            }
        }
        catch(Exception ex)
        {
            ex.printStackTrace();
        }

      //  return image.copy(Bitmap.Config.ARGB_8888, true);
    }

0 个答案:

没有答案